set_magic_quotes_runtime(0)函數(shù)作用解釋

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

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

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

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

          應用實例見代碼:
          PHP代碼

          // 去除轉(zhuǎn)義字符    
          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 狀態(tài)    
          if (@get_magic_quotes_gpc()) {    
              //如果已經(jīng)打開了magic_quotes_gpc,則去掉轉(zhuǎn)義字符,防止雙重轉(zhuǎn)義    
              $_GET = stripslashes_array($_GET);    
              $_POST = stripslashes_array($_POST);    
              $_COOKIE = stripslashes_array($_COOKIE);    
          }  

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

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          留言簿(6)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 射洪县| 霸州市| 重庆市| 望谟县| 海安县| 金湖县| 新建县| 佛学| 讷河市| 阳城县| 普格县| 四川省| 阿拉善右旗| 芦溪县| 扶风县| 玉山县| 岑巩县| 巫山县| 延庆县| 上林县| 通海县| 孙吴县| 潮州市| 吴忠市| 贺兰县| 拜泉县| 慈溪市| 卫辉市| 齐河县| 德庆县| 西华县| 柘城县| 郑州市| 屏南县| 丹东市| 墨玉县| 清丰县| 浙江省| 南投市| 化州市| 巴里|