中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解PHP轉義的真正含義

發布時間:2021-10-18 16:54:19 來源:億速云 閱讀:164 作者:柒染 欄目:編程語言

如何理解PHP轉義的真正含義,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

如何正確的理解PHP轉義是一個初學者比較困擾的問題。我們今天為大家簡要的講述了PHP轉義的具體含義,希望有所幫助。PHP轉義一直困擾著我, 今天認真的看了一下PHP手冊, 終于解決了

在PHP中默認有一個"魔術引號"的開關, 如果這個開關打開, 從外部轉入的$_GET, $_GET, $COOKIE都會PHP轉義.
比如:

http://localhost/test.PHP?test=1'

然后在test.PHP輸出時自動轉義, 輸出如下:

var_dump($_GET['test'];

========output=======
string(3) "1\'"

所示 ' 號被加入了\轉義了.但這里有一個問題, 當將這個值輸出到網頁時會看到滿屏的\, 這里可以使用另一個函數, stripslashes 可以將\去除.

在手冊中的PHP轉義意思是說推薦不要開啟"魔術引號" 因為效率問題, 不這也有一個好處, 就是可以非常安全, 對于我這樣的新手來說.
關閉"魔術引號有三個方法, 因為這個是不可以PHP運行進關閉的, 也就是說不可以用ini_set().

1. 對PHP.ini設置.

magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off

2. 如果對系統無法修改可以使用 .htaccess

PHP_flag magic_quotes_gpc Off

3. 效率***的PHP轉義方法

if (get_magic_quotes_gpc()) {  function stripslashes_deep($value)  {  $value = is_array($value) ?  array_map('stripslashes_deep', $value) :  stripslashes($value);  return $value;  }  $_POST = array_map('stripslashes_deep', $_POST);  $_GET = array_map('stripslashes_deep', $_GET);  $_COOKIE = array_map('stripslashes_deep', $_COOKIE);  }  ?>

這里還要提到一個關于 SQL語句中有LIKE時對%的處理, 因為addslashes對% _ 是不轉義的, 且這兩個字符在別的SQL語句也本來也不用轉義的, 所以我編了一個函數 like_esc($value), 當有LIKE語句時才使用.

對于輸出到網頁的先用stripslashes去\還要用htmlspecialchars轉義一下.

我現在有一個比較懶的PHP轉義方法也是對所有轉入的都轉義.

if (!get_magic_quotes_gpc()) {  function addslashes_deep($value)  {  $value = is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value);  return $value;  }  $_POST = array_map('addslashes_deep', $_POST);  $_GET = array_map('addslashes_deep', $_GET);  $_COOKIE = array_map('addslashes_deep', $_COOKIE);  }

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

长泰县| 子长县| 信阳市| 福泉市| 乐至县| 武乡县| 西林县| 彩票| 进贤县| 波密县| 阜新市| 遵义县| 台南市| 合肥市| 内江市| 巴南区| 屏东县| 新营市| 新竹市| 南投市| 九龙县| 青神县| 吉隆县| 中山市| 胶州市| 招远市| 靖宇县| 普洱| 普定县| 崇义县| 沁水县| 阿克陶县| 崇州市| 宁河县| 荔浦县| 吉安市| 玉门市| 上虞市| 马山县| 尉犁县| 军事|