2012-01-28 3 views
2

HTML 페이지의 소스를 변경하지 못하게하면 회원 사진이 표시됩니다. 그리고이 모든 사진에는 페이지를 프로필 페이지로 보내는 href 태그가 있습니다. 이 페이지는 profile.php, 사용자가 URL의 "이름"부분으로 변경하는 경우, ABC "라고되도록이 URL은 URL에 표시, 그러나 내 홈페이지에서

<a href= "profile.php?name=james stone"> 

처럼 A HREF에서 관련 정보를 가져옵니다 "라는 사이트는 이름이 abc 인 사람을 얻으려고합니다. 결론적으로이 사이트는 존재하지 않는 사람 "abc"를 표시하려고 시도하여 많은 오류가 발생합니다. 사용자가 URL을 변경하지 못하게하려면 어떻게해야합니까?

답변

10

죄송합니다. 사용자가 HTML 소스에서 변경할 수있는 것을 제어 할 수 없습니다.

존재하지 않는 URL을 관리하는 방법이 잘못되었습니다.

대신 사용자가 존재하지 않고 "사용자가 존재하지 않습니다"라는 오류 페이지를 만들어야합니다.

4

수 없습니다. 오류를 포착하고 오류 페이지를 사용자에게 표시»요청한 사용자가 존재하지 않음«. 항상 방어적인 코드를 작성하십시오.

1

잘 당신은 어떤 하나의 이름을 변경하려고하면 그래서 그는 그것을
N 당신은 당신의 페이지에 별도에게의 키를 확인해야으로 인코딩 된 키를 찾을 수 없을 것이라고
와 이름의 일부 인코딩 형식을 첨부 할 수 있습니다 데이터베이스에서 필요한 작업
예.
키는 MD5 또는 "이름"당신은 여전히 ​​사용자가 존재하지 않는 경우 오류를 처리해야

+0

나에게 애매한 보안과 같은 소리 ... – knittl

+0

나중에 인코딩이 복잡해질 수 있습니다 ..... –

+0

여전히 문제가 지속되어 사용자가 URL을 조작 할 수 있습니다. 문제는이 조작을 방지하는 방법입니다. – Apurv

2

의 MD5의 일부 문자열이 될 수있다 "= 이름은? 제임스 & 키 = asdkasndka을 profile.php". 사용자는 url에서 사용자 이름을 변경할 수 있기 때문에 (더 일반적인 경우) html 소스에서 사용자 이름을 변경하지 않아도됩니다.

간혹 사용자를 삭제할 수도 있지만 사용자가 브라우저 기록에 기억 된 프로필 페이지의 URL을 갖게되거나 바로 가기로 저장됩니다. 따라서 어쨌든 사용자가 존재하지 않는 사용자 프로필로 이동하는 경우가 많으며 발생하는 오류의 수가 많더라도이를 처리해야합니다.

관련 문제