您好,登錄后才能下訂單哦!
今天小編給大家分享一下php如何關閉magic_quotes_gpc的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
php關閉magic_quotes_gpc的方法:1、將php.ini的“magic_quotes_gpc”設置為Off;2、在“.htaccess”里寫入“php_value magic_quotes_gpc Off”。
本文操作環境:windows7系統、PHP7.1版、DELL G3電腦
php怎么關閉magic_quotes_gpc?
PHP6、PHP7關閉magic_quotes_gpc對程序的影響
在PHP5及之前,magic_quotes_gpc默認是開啟的。magic_quotes_gpc的作用很微妙,我一直使用PHP5多年,magic_quotes_gpc呈開啟狀態,平時沒有受到任何影響。直到發現PHP的Cookies,如果有'這樣的標點符號,在Cookies里,會將這些符號全部轉義為\'。
查閱了大量的資料,解決的辦法是將php.ini的magic_quotes_gpc設置為Off,或者不改變php.ini,在.htaccess里將magic_quotes_gpc設置為Off,方法是在.htaccess里寫入:
php_value magic_quotes_gpc Off
PHP6、PHP7的php.ini里沒有magic_quotes_gpc的選項,實際呈關閉狀態。magic_quotes_gpc關閉之后,為了加強安全,原來所有的$_POST['abc']和$_GET['abc']最好全部加上stripslashes()來轉義,例如:
$aa=stripslashes($_POST['abc']); $aa=stripslashes($_GET['abc']);
PHP關閉magic_quotes_gpc之后,有一個很特殊的影響。比如在post表單里,如果<form method=post>發送的信息里恰好有反斜杠符\,如果是用stripslashes($_POST['abc'])來接收,反斜杠符會被全部刪除。例如在重要的項目里,提交的內容為:W:\ac3\about,接收到的內容變為:W:ac3about。
(這個影響,有可能在本機的PHP下會刪除反斜杠,有些服務器不會刪除。)
經過測試,解決的辦法是,這時去掉stripslashes,反斜杠符就不會被替換掉,例如:
$aa=$_POST['abc'];
但這樣會帶來不安全,解決的辦法是把提交的信息里的<符轉成<,例如:
$aa=str_replace('<','<',$aa);
經過測試,如果<form method=get>發送的信息里有反斜杠符\,用$aa=stripslashes($_GET['abc'])接收,反斜杠符不受影響,不會被刪除。
以上就是“php如何關閉magic_quotes_gpc”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。