내 웹 사이트 라이브 가기 전에, 나는 보안에 대한 몇 가지 생각을했다.
제공된 경우 XSS 및 SQL 주사에 대해 완전히 불안전이 베어 스크립트를 고려한다.<?
if ($_POST['submit']=="1"){
$input = $_POST['input'];
echo "echo the input: ".$input."<br/>";
}
?>
<form action="<? $PHP_SELF;?>" method="POST">
<input type="text" name="input" value="<? echo $_POST['input'];?>"/>
<input type="hidden" name="submit" value="1"/>
<input type="submit" value="submit"/>
</form>
이 같은 같은 주사 (필드 입력에) 작동하지 않는 이유는 무엇 을 궁금 : 내가 순진은 "생각하고
";unset('index.php');
, 에코을 종료하고 진행보다는 것을 코드. 사실 나는이 작동하지 않는 매우 기쁘게 생각하지만 난 이유를 알고 싶습니다. 이 실제로 사용 할 일 'OR 1'의 SQL 종류에서.
내가로이 보안을 알고또는 htmlspecialchars이지만 이것은 문제가되지 않습니다. 나는 이것을 처리하는 과정에서 PHP가 어떻게 작동 하는지를 알고 싶다.
감사
자신 만의 이야기 :'addslashes()','mysql_real_escape_string()'및'htmlspecialchars()'와 같은 string_munging 함수는 조심스럽게 선택 장소와 상황에 따라 원하는 보호 기능을 제공합니다. 내가 쓸 경우 의미하므로 http://stackoverflow.com/questions/110575/do-htmlspecialchars-and-mysql-real-escape-string-keep-my-php-code-safe-from-inje/110576 – Cheekysoft