set_magic_quotes_runtime(0)函數作用解釋

          在php.ini的配置文件中,有個布爾值的設置,就是magic_quotes_runtime,當它打開時,php的大部分函數自動的給從外部引入的(包括數據庫或者文件)數據中的溢出字符加上反斜線。

          當然如果重復給溢出字符加反斜線,那么字符串中就會有多個反斜線,所以這時就要用set_magic_quotes_runtime()與get_magic_quotes_runtime()設置和檢測php.ini文件中magic_quotes_runtime狀態。

          為了使自己的程序不管服務器是什么設置都能正常執行。可以在程序開始用get_magic_quotes_runtime檢測設置狀態秋決定是否要手工處理,或者在開始(或不需要自動轉義的時候)用set_magic_quotes_runtime(0)關掉。

          magic_quotes_gpc設置是否自動為GPC(get,post,cookie)傳來的數據中的'"\加上反斜線。可以用get_magic_quotes_gpc()檢測系統設置。如果沒有打開這項設置,可以使用addslashes()函數添加,它的功能就是給數據庫查詢語句等的需要在某些字符前加上了反斜線。這些字符是單引號(')、雙引號(")、反斜線(\)與 NUL(NULL 字符)。

          應用實例見代碼:
          PHP代碼

          // 去除轉義字符    
          function stripslashes_array($array) {    
              if (is_array($array)) {    
                  foreach ($array as $k => $v) {    
                      $array[$k] = stripslashes_array($v);    
                  }    
              } else if (is_string($array)) {    
                  $array = stripslashes($array);    
              }    
              return $array;    
          }    
            
          @set_magic_quotes_runtime(0);    
          // 判斷 magic_quotes_gpc 狀態    
          if (@get_magic_quotes_gpc()) {    
              //如果已經打開了magic_quotes_gpc,則去掉轉義字符,防止雙重轉義    
              $_GET = stripslashes_array($_GET);    
              $_POST = stripslashes_array($_POST);    
              $_COOKIE = stripslashes_array($_COOKIE);    
          }  

          posted on 2009-03-25 22:16 丁克設計 閱讀(257) 評論(0)  編輯  收藏 所屬分類: PHP技術文檔

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          留言簿(6)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 商洛市| 贵定县| 蚌埠市| 武穴市| 渝中区| 铜川市| 平谷区| 通许县| 阆中市| 安顺市| 班玛县| 大埔区| 灌南县| 西乌珠穆沁旗| 宁化县| 土默特右旗| 莱芜市| 章丘市| 阿拉善左旗| 集贤县| 山丹县| 岑巩县| 湘阴县| 多伦县| 莫力| 福贡县| 台州市| 太白县| 抚顺县| 邵阳市| 兴海县| 南汇区| 应城市| 当雄县| 新巴尔虎左旗| 屏山县| 奎屯市| 绥中县| 德兴市| 庆云县| 瑞金市|