成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

正確理解PHP轉義的真正含義

開發 后端
PHP轉義通過手冊上介紹的內容,可能對于新手們不能完全了解。我們需要在不斷的實踐中去慢慢體會PHP轉義的概念。

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

在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轉義方法

  1. if (get_magic_quotes_gpc()) {  
  2. function stripslashes_deep($value)  
  3. {  
  4. $value = is_array($value) ?  
  5. array_map('stripslashes_deep', $value) :  
  6. stripslashes($value);  
  7. return $value;  
  8. }  
  9. $_POST = array_map('stripslashes_deep', $_POST);  
  10. $_GET = array_map('stripslashes_deep', $_GET);  
  11. $_COOKIE = array_map('stripslashes_deep', $_COOKIE);  
  12. }  
  13. ?> 

 

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

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

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

  1. if (!get_magic_quotes_gpc()) {  
  2. function addslashes_deep($value)  
  3. {  
  4. $value = is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value);  
  5. return $value;  
  6. }  
  7. $_POST = array_map('addslashes_deep', $_POST);  
  8. $_GET = array_map('addslashes_deep', $_GET);  
  9. $_COOKIE = array_map('addslashes_deep', $_COOKIE);  
  10. }  

 

 

責任編輯:曹凱 來源: si33.cn
相關推薦

2009-12-04 18:00:46

PHP開發MVC模型

2009-12-09 14:04:45

PHP include

2009-12-07 14:53:13

PHP抽象類應用

2009-12-04 17:16:41

PHP析構函數

2020-01-07 15:10:32

Linuxinode命令

2009-06-18 10:29:24

Hibernate I

2009-12-14 17:48:46

Ruby String

2009-04-20 09:09:46

PHP錯誤信息錯誤代碼

2010-07-20 12:35:33

SQL Server索

2010-02-01 10:54:37

C++框架

2024-01-29 00:35:00

Go并發開發

2023-12-27 19:52:08

Go模塊命令

2009-12-03 15:31:30

PHP獲取顯示數據庫數

2010-02-04 15:05:00

C++ cpuid指令

2010-01-18 17:29:35

VB.NET函數調用

2009-12-16 10:33:31

Ruby更新文件

2009-12-17 11:36:55

Ruby輸入輸出

2009-12-16 17:00:43

Ruby on Rai

2013-08-06 10:40:38

大數據數據

2011-11-01 10:41:10

云計算SOA
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品免费视频 | 亚洲综合三区 | 精品久久久久久亚洲精品 | 国产一区二区在线91 | 午夜免费小视频 | 国产精品黄色 | 久久大| 中文精品一区二区 | 欧洲一区二区视频 | 99精品国自产在线观看 | 久久精品国产一区二区 | 国产免费让你躁在线视频 | 麻豆一区 | 久久97精品 | 一区二区日韩 | 日本一区二区三区免费观看 | 欧美在线观看一区 | 久久久久久久久久久国产 | 国产精品美女久久久久aⅴ国产馆 | 国产免费观看一级国产 | 国产精品99视频 | 天堂视频中文在线 | 色婷婷综合久久久中字幕精品久久 | 国产高清在线精品一区二区三区 | 综合色播 | 日韩视频免费 | 欧美a在线| 日韩中文av在线 | 久久乐国产精品 | 欧美一区二区激情三区 | 99热免费在线 | 在线免费观看a级片 | 国产精品视频免费播放 | 亚洲午夜视频在线观看 | 99福利| 成人高清视频在线观看 | 欧美一区二区在线看 | 欧美日韩国产在线观看 | 国产一区2区 | 色综久久 | 国产精品久久亚洲 |