偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

正確理解PHP轉(zhuǎn)義的真正含義

開(kāi)發(fā) 后端
PHP轉(zhuǎn)義通過(guò)手冊(cè)上介紹的內(nèi)容,可能對(duì)于新手們不能完全了解。我們需要在不斷的實(shí)踐中去慢慢體會(huì)PHP轉(zhuǎn)義的概念。

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

在PHP中默認(rèn)有一個(gè)"魔術(shù)引號(hào)"的開(kāi)關(guān), 如果這個(gè)開(kāi)關(guān)打開(kāi), 從外部轉(zhuǎn)入的$_GET, $_GET, $COOKIE都會(huì)PHP轉(zhuǎn)義.
比如:

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

然后在test.PHP輸出時(shí)自動(dòng)轉(zhuǎn)義, 輸出如下:

var_dump($_GET['test'];

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

所示 ' 號(hào)被加入了\轉(zhuǎn)義了.但這里有一個(gè)問(wèn)題, 當(dāng)將這個(gè)值輸出到網(wǎng)頁(yè)時(shí)會(huì)看到滿屏的\, 這里可以使用另一個(gè)函數(shù), stripslashes 可以將\去除.

在手冊(cè)中的PHP轉(zhuǎn)義意思是說(shuō)推薦不要開(kāi)啟"魔術(shù)引號(hào)" 因?yàn)樾蕟?wèn)題, 不這也有一個(gè)好處, 就是可以非常安全, 對(duì)于我這樣的新手來(lái)說(shuō).
關(guān)閉"魔術(shù)引號(hào)有三個(gè)方法, 因?yàn)檫@個(gè)是不可以PHP運(yùn)行進(jìn)關(guān)閉的, 也就是說(shuō)不可以用ini_set().

1. 對(duì)PHP.ini設(shè)置.

magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off

2. 如果對(duì)系統(tǒng)無(wú)法修改可以使用 .htaccess

PHP_flag magic_quotes_gpc Off

3. 效率***的PHP轉(zhuǎn)義方法

  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. ?> 

 

這里還要提到一個(gè)關(guān)于 SQL語(yǔ)句中有LIKE時(shí)對(duì)%的處理, 因?yàn)閍ddslashes對(duì)% _ 是不轉(zhuǎn)義的, 且這兩個(gè)字符在別的SQL語(yǔ)句也本來(lái)也不用轉(zhuǎn)義的, 所以我編了一個(gè)函數(shù) like_esc($value), 當(dāng)有LIKE語(yǔ)句時(shí)才使用.

對(duì)于輸出到網(wǎng)頁(yè)的先用stripslashes去\還要用htmlspecialchars轉(zhuǎn)義一下.

我現(xiàn)在有一個(gè)比較懶的PHP轉(zhuǎn)義方法也是對(duì)所有轉(zhuǎn)入的都轉(zhuǎn)義.

  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. }  

 

 

責(zé)任編輯:曹凱 來(lái)源: si33.cn
相關(guān)推薦

2009-12-04 18:00:46

PHP開(kāi)發(fā)MVC模型

2009-12-09 14:04:45

PHP include

2009-12-07 14:53:13

PHP抽象類應(yīng)用

2009-12-04 17:16:41

PHP析構(gòu)函數(shù)

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錯(cuò)誤信息錯(cuò)誤代碼

2010-07-20 12:35:33

SQL Server索

2010-02-01 10:54:37

C++框架

2024-01-29 00:35:00

Go并發(fā)開(kāi)發(fā)

2023-12-27 19:52:08

Go模塊命令

2009-12-03 15:31:30

PHP獲取顯示數(shù)據(jù)庫(kù)數(shù)

2010-02-04 15:05:00

C++ cpuid指令

2010-01-18 17:29:35

VB.NET函數(shù)調(diào)用

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

大數(shù)據(jù)數(shù)據(jù)

2011-11-01 10:41:10

云計(jì)算SOA
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)