2012-09-30 5 views
2

PHP에 익숙하지 않은 사용자가 변수 보간법을 활용하여 비밀 값을 얻을 수 있습니까? 쿼리 문자열 안전성 및 변수 보간

<?php 
    $secret = 'hidden data'; 
    echo $_GET['id']; 
?> 

은 내가가 id를 전달하려고 : $ 비밀, %의 24secret, {비밀} $ {$ 비밀} %의 7D % 24secret % 7D % 24 % 7Dsecret의 %의 7D. 지금까지는 안전하지만 그냥 누락 된 것이 아닌지 확인하려고합니다. 미리 감사드립니다.

+2

그런 일이 가능하다면 PHP로 작성된 많은 웹 응용 프로그램은 없을 것이라고 생각합니다. 또한'$ _GET'은 배열이므로 결국'$ _GET [$ secret]'을 가지므로'$ secret'의 값이'$ _GET'의 유효한 배열 키가 아니면 여전히 no 문제. – Havelock

+1

실수로'$$ _GET [ 'id']'를 쓰지 않는 한 불가능합니다. –

답변

3

아니요, 사용자가 이러한 방식으로 하드 코딩 된 문자열을 검색하는 것은 불가능합니다.

1

번호

하지만 그렇지 않으면 우리는 크로스 사이트 스크립팅 공격을 사용 (로그인 쿠키, 세션 데이터 등을 훔치는) 할 수 있기 때문에 어쨌든 htmlentities($_GET["id"])를 사용합니다.