1.在使用者登入或查詢資料等時候有些時候可能會有引號等對sql語句有影響的符號(sql注入攻擊),這樣等對他們進行資料庫裡的操作的時候會有影響,
這種情況應該怎麼辦呢?
方案:可以用addslashes 和stripslashes
addslashes是可以使單引號(,),雙引號("),反斜線()與NULL(NULL字元)加上反斜線進行轉義
stripslashes是與addslashes相對的一個方法,是把這些轉義過的還原
2、有些PHP版本magic_quotes_gpc這個配置是有用的,即自動魔術引號,即如果這個配置開啟的話,$_POST ,$_COOKIE,$_SESSION這些值會自動進行轉義,就不需要我們來轉義
這種情況下怎麼辦呢?呢? ,即html實體轉義,即等這些html符號,都會被轉化,那麼當打印出來的時候,只會當他們是文字,而不是腳本了
<?php $textarea = $_POST['textarea']; if(get_magic_quotes_gpc()){ echo '魔术引号以开启,$textarea不需要转义','<br />'; }else{ echo '魔术引号未开启,$textarea需要转义','<br />'; $textarea = addslashes($textarea); } ?>