一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

sql注入與轉(zhuǎn)義的php函數(shù)代碼

sql注入:

  正常情況下:

    delete.php?id=3;
    $sql = 'delete from news where id = '.$_GET['id'];

  惡意情況:

    delete.php?id=3 or 1;
    $sql = 'delete from news where id = 3 or 1';  -------如此執(zhí)行后,所有的記錄將都被刪除

   應(yīng)該采取相關(guān)措施。。。比如用之前先判斷是否是數(shù)字等等。

要使自己相信,從客戶端傳來(lái)的信息永遠(yuǎn)是不可靠的!!

轉(zhuǎn)義:

  有時(shí)候從客戶端傳來(lái)的數(shù)據(jù),可能惡意包含些特殊的字符,比如單引號(hào)、斜杠等,所以需要轉(zhuǎn)義,轉(zhuǎn)義成普通的字符,此時(shí)就要用到string addslashes ( string $str ),這個(gè)函數(shù)可以對(duì)某個(gè)變量進(jìn)行轉(zhuǎn)義。但是,如果對(duì)數(shù)組里的元素進(jìn)行轉(zhuǎn)義,就用foreach循環(huán)數(shù)組,如下:

復(fù)制代碼 代碼如下:
  foreach($_POST as $k=>$v) {
      if(is_string($v)) {
        $_POST[$k] = addslashes($v);
      }
  }

  但是如果數(shù)組中還包含數(shù)組,那就要遞歸進(jìn)行轉(zhuǎn)義了,此時(shí)用到

    array_walk_recursive(array &$input , callback $funcname [, mixed $userdata ])

             將用戶自定義函數(shù) funcname 應(yīng)用到 array 數(shù)組中的每個(gè)單元。本函數(shù)會(huì)遞歸到更深層的數(shù)組中去。典型情況下 funcname 接受兩個(gè)參數(shù)。input 參數(shù)的值作為第一個(gè),鍵名作為第二個(gè)。如果提供了可選參數(shù) userdata,將被作為第三個(gè)參數(shù)傳遞給 callback funcname。成功時(shí)返回 TRUE, 或者在失敗時(shí)返回 FALSE

      也就是說(shuō):用自定義的函數(shù),至少要能接收兩個(gè)參數(shù),而addslashes()只能接收一個(gè)參數(shù)所以自定義一個(gè)函數(shù)如下:

復(fù)制代碼 代碼如下:
      function a(&$v,$k){
        $v=addslashes($v);
      }
      array_walk_recursive(&$arr,'a');

 系統(tǒng)自動(dòng)轉(zhuǎn)義:

  php中,有一個(gè)魔術(shù)引號(hào)的概念,如何打開(kāi)?答:在php.ini中,magic_quotes_gpc=On;重啟apache即可

  魔術(shù)引號(hào)被打開(kāi)后,系統(tǒng)會(huì)自動(dòng)對(duì)$_GET,$_POST,$_COOKIE數(shù)據(jù)進(jìn)行轉(zhuǎn)義,在不知情的情況下,再次進(jìn)行手動(dòng)轉(zhuǎn)義的話,就轉(zhuǎn)多了,要想合理的進(jìn)行轉(zhuǎn)義,就要首先判斷,魔術(shù)符號(hào)是否已經(jīng)打開(kāi)了,用magic_quotes_gpc()進(jìn)行判斷,不需要傳值,關(guān)閉返回0,關(guān)閉返回1

復(fù)制代碼 代碼如下:
  if(!get_magic_quotes_gpc()) {  // 如果魔術(shù)引號(hào)沒(méi)開(kāi)

      function _addslashes(&$v,$k) {
          $v = addslashes($v);
      }
      array_walk_recursive(&$_GET,'_addslashes');
      array_walk_recursive(&$_POST,'_addslashes');
      array_walk_recursive(&$_COOKIE,'_addslashes');
  }

php技術(shù)sql注入與轉(zhuǎn)義的php函數(shù)代碼,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美成人网在线综合视频 | 欧美性20hd另类 | 91麻豆久久| 亚洲一区日韩一区欧美一区a | 青青热久久综合网伊人 | 国产精品揄拍一区二区 | 韩国一级毛片在线观看 | 亚洲国产精品免费在线观看 | 亚洲国产成人久久综合碰 | 国产极品久久 | 国产一级精品高清一级毛片 | 欧美最猛性xxxxx黑人巨 | 色老板免费视频 | 亚洲一区二区三区视频 | 中文字幕一区二区三区在线观看 | 一级做a爰片性色毛片新版的 | 日本一区二区三区欧美在线观看 | 亚色中文字幕 | 日韩毛片免费视频一级特黄 | 亚洲综合国产 | 日本一区二区三区日本免费 | 中文字幕在线永久在线视频2020 | 美女一级毛片 | 美女的胸又黄又www网站免费 | 免费看黄网站在线看 | 99精品久久99久久久久久 | 亚洲欧美卡通另类 | 婷婷色国产 | 久久久国产乱子伦精品 | 国产人成激情视频在线观看 | 四虎网站网址 | 日本成人免费网站 | 香蕉免费一区二区三区在线观看 | 亚洲香蕉伊在人在线观看9 亚洲香蕉伊综合在人在线 亚洲香蕉影院 | 国产午夜在线观看视频播放 | 色91在线 | 亚洲人色大成年网站在线观看 | 日韩久久精品一区二区三区 | 中文字幕国产视频 | 久久青草免费91线频观看不卡 | 婷婷五月情 |