보안 관점에서 GUID를 사용하는 것과 관련하여 조언을 듣고 있습니다. ASP.Net 응용 프로그램을 개발했습니다. 웹 서버에없는 문서 및 사진과 같은 일부 자료에 대한 액세스 권한을 사용자에게 제공합니다. 이들은 파일 서버에 저장됩니다. 리소스의 ID를 사용하는 'GetResource.aspx'페이지가 있는데 System.IO.FileInfo를 사용하여 열면 응답 스트림에 쓰여지고 반환됩니다.URL을 통해 GUID를 전달할 때의 보안 위험
그래서 GetResource.aspx? id = 123은 사용자가 액세스 할 수있는 그림을 반환합니다. 물론, 사용자는 수동으로 URL을 GetResource.aspx? id = 456으로 입력 할 수 있습니다.이 경우 해당 ID가있는 그림/문서 등이 반환되며 액세스 권한이없는 것일 수 있습니다.
정수 ID를 사용하는 것이 적절하지 않습니다. ID로 GUID를 사용하면 사용자가 "GetResource.aspx-guid = {Guided guid}"를 수동으로 입력 할 수 없다고 가정하고 스크립트를 사용하는 경우를 포함하여 유효한 리소스에 액세스 할 것으로 예상 할 수있는 충분한 '임의성'을 제공합니까? 초당 많은 추측을 했습니까?
또는 Session 변수에서 사용자의 ID를 확인하고 실제로 요청한 리소스에 액세스 할 수 있는지 확인한 후이를 반환 할 수는 없습니까? (이 글을 쓰면 점점 더 확신 할 수 있습니다. 그런 경우입니다!). 사용자가이 내용을 보호되는 경우 맹목적를 제공하기 전에 권한이 있는지
감사
[ID에 대한 GUID를 사용하면 ID를 예측할 수 있습니까?] (http://security.stackexchange.com/q/31126/17306) – Kobi
감사합니다. Kobi, 나는 그것을 보지 못했으며 동의합니다. 비슷한. 대답 한 모두에게 감사드립니다. 매우 도움이되었습니다. – Kate