1. 사용자가 로그인하거나 데이터를 쿼리할 때 때때로 SQL 문에 영향을 미치는 따옴표 및 기타 기호가 있을 수 있습니다(SQL 주입 공격). 이는 데이터베이스에서 작업을 수행할 때 영향을 미칠 수 있습니다.
이런 일은 어떻게 해야 하는가? 2. 일부 PHP 버전에서는 Magic_quotes_gpc 구성이 유용합니다. 즉, 이 구성이 활성화된 경우 $_POST, $_COOKIE ,$_SESSION 값이 사용됩니다. 자동으로 이스케이프되므로 이스케이프할 필요가 없습니다.
이 경우 어떻게 해야 합니까?
답변: 호환성과 이식성을 위해 판단해야 합니다.
다음 코드를 보십시오:
3. XSS 공격이란 무엇입니까?
답: XSS 공격: Cross Site Scripting과 혼동하지 마십시오. CSS(Cascading Style Sheets)
<?php $textarea = $_POST['textarea']; if(get_magic_quotes_gpc()){ echo '魔术引号以开启,$textarea不需要转义','<br />'; }else{ echo '魔术引号未开启,$textarea需要转义','<br />'; $textarea = addslashes($textarea); } ?>
<?php file_put_contents('01.txt', htmlspecialchars($_POST['textarea'])); echo file_get_contents('01.txt'),'<br />'; //返回<script type="text/javascript"> while (true) { alert('a'); }; </script> ?>