Javascript 클라이언트 측에서 UUID를 생성하면 위험이 있습니까?

StackOverflow https://stackoverflow.com/questions/1296234

  •  18-09-2019
  •  | 
  •  

문제

결국 데이터베이스에 저장하려면 UUID를 생성해야 합니다.클라이언트 브라우저의 Javascript에서 이러한 UUID를 생성할 수 있습니까(여기에 몇 가지 예가 있습니다.)?

이런 식으로 수행하면 보안 위험이 있습니까?나는 UUID가 저장을 위해 서버에 전달되기 전에 누구나 UUID를 수정할 수 있다는 것을 이해합니다.따라서 데이터베이스에 저장하기 전에 정말 고유한지 확인해야 합니다. 그 외에 확인해야 할 다른 사항이 있나요?

(내 영어로 인해 죄송합니다. 문법 오류가 있으면 언제든지 수정하세요.)

편집하다: 이 작업을 수행하려는 이유에 대한 질문에 대답하려면 Javascript에서 새 객체와 식별자를 생성하고 이를 뷰에 추가한 다음 서버에 AJAX 호출을 수행하여 데이터베이스에 추가할 수 있기 때문입니다.이렇게 하면 기본 식별자가 무엇인지 알기 위해 데이터베이스에서 다시 로드할 필요가 없습니다.

도움이 되었습니까?

해결책

설마. 예를 들어 URL에 ID를 갖는 사용자 계정과는 다른 식별자이고 더 이상 유효성과 독창성을 확인하는 한, 실제로는 유효성과 독창성을 확인하고 있습니다.

URL 막대를보십시오. 나는 1296234 가이 질문의 주요 열쇠라고 확신하지만, 그 정보로 실제로 아무것도 할 수는 없습니다. 스크립트와 동일합니다.

다른 팁

이러한 클라이언트 측을 생성 할 때 어떤 이점이 있습니까? 모든 정직에서 가장 좋은 방법은 사용자가 도달 할 수있는 IT 서버 측을 생성하는 것입니다. 심각한 보안 문제로부터 절약 할 수는 없지만 중복 검증이 줄어 듭니다.

예.위험은 UUID에만 국한되지 않으며, 클라이언트 측에서 생성된 모든 ID에는 해당 ID로 수행하는 작업에 따라 일부 위험이 있습니다.문제는 자바스크립트 인증이 매우 어렵다는 점이다.클라이언트가 생성한 ID를 수락하면 해커가 보낸 모든 ID를 수락하게 됩니다.

위험에는 다음이 포함될 수 있습니다.

  1. 세션 도용.세션을 식별하기 위해 ID를 사용하는 경우 누군가 기존 ID를 생성된 ID로 사용할 수 있으며 적절한 관리가 이루어지지 않으면 서버가 이를 기존 세션으로 처리할 수 있습니다.

  2. 중복된 키.실제 UUID는 무작위이지만 누군가가 중복 키를 생성하여 데이터베이스를 엉망으로 만들 수 있습니다.

이러한 각 공격을 방어할 수 있는 방법을 찾을 수 있지만 이는 수동적 보호입니다.이는 클라이언트에서 ID를 생성하는 원래 목적을 무너뜨릴 수 있습니다. 이는 간단합니다.

데이터베이스에 ID를 생성 (증가) 할 수없는 이유가 있습니까?

당신이 말했듯이, 어쨌든 제출하기 전에 가치의 독창성을 확인해야한다면, 당신이 사용하는 백엔드 언어를 생성하는 것만으로도 가치가있는 이유는 무엇입니까? 그것은 훨씬 더 불투명하게 만들 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top