麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

php 魔法引用magic_quotes_gpc()函數用法

2024-09-04 11:49:13
字體:
來源:轉載
供稿:網友

magic_quotes_gpc是用來判斷我們apache是不是開啟了自動轉譯功能了,為了讓各位更好的理解魔法引用magic_quotes_gpc()函數用法下面來給各位總結與舉一些例子.

magic_quotes_gpc的設定值將會影響通過Get/Post/Cookies獲得的數據.

這兩天接入百度SDK處理支付回調時碰到了簽名通不過的情況,簽名規則很簡單,md5(transdata + appkey) 和 接受到的sign比較,請求方式為POST.

于是乎通過php://input記錄下了原始數據和記錄下了POST數據,通過日志查看到結果類似如下:

  1. //原始數據 
  2. transdata={"exorderno":"2014031223","transid":"05514312314566"
  3. "waresid":1,"appid":"1","feetype":0,"money":1,"count":1,"result":0, 
  4. "transtype":0,"transtime":"2014-03-12 15:33:19","paytype":401}&sign=xxxx 
  5.   //開源軟件:Vevb.com 
  6. //post數據 
  7. [transdata] => {/"exorderno/":/"2014031223452345234/",/"transid/"
  8. /"05514031215312314566/",/"waresid/":1,/"appid/":/"1/",/"feetype/":0, 
  9. /"money/":1,/"count/":1,/"result/":0,/"transtype/":0, 
  10. /"transtime/":/"2014-03-12 15:33:19/",/"paytype/":401} 
  11. [sign] => xxxx 

可見接收到post數據時引號自動轉義了,而程序上未做到該操作,很容易就聯想到服務器的魔法引用打開了,查看.

php版本

PHP 5.2.14 (cli) (built: Jun 7 2012 20:39:40)

Copyright (c) 1997-2010 The PHP Group

Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

例子說明:

  1. $data1 = $_POST['aaa'];  
  2.  
  3.  $data2 = implode(file('1.txt'));  
  4.  
  5.  if(get_magic_quotes_gpc()){  
  6.  
  7.     //把數據$data1直接寫入<a href="/database/database.html" target="_blank">數據庫</a> (自動轉譯)  
  8.  
  9.  }else{  
  10.  
  11.     $data1 = addslashes($data1);  
  12.  
  13.     //把數據$data1寫入數據庫,用函數(addslashes()轉譯)  
  14.  
  15.  }  
  16.  
  17.  if(get_magic_quotes_runtime()){  
  18.  
  19.     //把數據$data2直接寫入數據庫(自動轉譯)  
  20.  
  21.  //從數據庫讀出的數據要經過一次stri<a href="/fw/photo.html" target="_blank">ps</a>lashes()之后輸出,stripslashes()的作用是去掉:/ ,和addslashes()作用相反  
  22.  
  23.  }else{  
  24.  
  25.     $data2 = addslashes($data2);  
  26.  
  27.      //把數據$data2寫入數據庫  
  28.  
  29.      
  30.  
  31.  //從數據庫讀出的數據直接輸出  
  32.  

最關鍵的區別是就是上面提到的2點:他們針對的處理對象不同,magic_quotes_gpc的設定值將會影響通過Get/Post/Cookies獲得的數據,注意的是沒有 set_magic_quotes_gpc()這個函數,就是不能在程序里面設置magic_quotes_gpc的值.

魔法引用5.4才刪掉的,那極有可能這里打開在,查看配置文件確實如此,根據條件開關strip一下即可.

問題很快就解決了,但如果不熟悉這塊可能還需要點時間,之前在CI的全局參數xss設置中有類似的地方,當進行全局處理之后對于這種接口、密鑰可能會帶來一些影響,所以全局參數過濾需要注意點.

矛盾可分為主要矛盾和次要矛盾,我們在程序設計中也常有這種思想,改最少的地方,過濾大部分參數,少數特殊處理,php中把它去掉了并不說明它沒有存在的價值,有了魔法引用少了很多注入,但同時也讓一些東西變得混亂,哪里需要轉義,要怎么轉義,通過什么方式來轉義等等,客觀看待,汲取中間有用的部分.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人一级黄色片 | 欧美成人性生活片 | 在线a免费观看 | 成人午夜在线免费视频 | 玖玖视频精品 | 久久色播 | 国产精品一区在线观看 | 亚洲视频综合网 | 在线高清中文字幕 | 亚洲精品久久久久www | 国产91亚洲精品久久久 | 免费久久久久 | 免费在线观看成人网 | 日本不卡中文字幕 | 日韩欧美电影在线观看 | 欧美人一级淫片a免费播放 久久久久久久久91 国产99久久久久久免费看 | 欧美精品电影一区二区 | 毛片一区二区三区 | 欧美a视频 | 国产精品久久久久久久av | 深夜小视频在线观看 | 免费人成在线播放 | 看中国一级毛片 | 黑人一级片视频 | 国产91一区 | 欧美大电影免费观看 | 久久99国产精品视频 | 一级毛片电影院 | 亚洲欧美在线视频免费 | 黄色免费影片 | 久久久久女人精品毛片九一 | 激情97| 激情九九| 中文字幕免费一区 | www亚洲| 性大片1000免费看 | 麻豆一二区 | 天天草天天爱 | 日本在线一区二区 | 毛片视频网址 | 中文日韩|