国产精品久久久久久久久久久新郎_91久久精品国产_国内精品久久久久久_欧美激情第一页在线观看_国产欧美日韩丝袜精品一区_日韩精品成人一区二区在线观看_国产精品v片在线观看不卡_91精品国产综合久久香蕉最新版 _国产精品亚洲激情_色综合男人天堂

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

確保PHP安全 不能違反的四條安全規則

發布時間:  2012/8/24 17:37:03

規則 1:絕不要信任外部數據或輸入

關于 Web 應用程序安全性,必須認識到的第一件事是不應該信任外部數據。外部數據(outside data) 包括不是由程序員在 PHP 代碼中直接輸入的任何數據。在采取措施確保安全之前,來自任何其他來源(比如 GET 變量、表單 POST、數據庫、配置文件、會話變量或 cookie)的任何數據都是不可信任的。

例如,下面的數據元素可以被認為是安全的,因為它們是在 PHP 中設置的。

清單 1. 安全無暇的代碼

以下為引用的內容:
$myUsername = 'tmyer';
$arrayUsers = array('tmyer', 'tom', 'tommy');
define("GREETING", 'hello there' . $myUsername);
?> 

但是,下面的數據元素都是有瑕疵的。

清單 2. 不安全、有瑕疵的代碼

以下為引用的內容:
$myUsername = $_POST['username']; //tainted!
$arrayUsers = array($myUsername, 'tom', 'tommy'); //tainted!
define("GREETING", 'hello there' . $myUsername); //tainted!
?> 

為 什么第一個變量 $myUsername 是有瑕疵的?因為它直接來自表單 POST。用戶可以在這個輸入域中輸入任何字符串,包括用來清除文件或運行以前上傳的文件的惡意命令。您可能會問,“難道不能使用只接受字母 A-Z 的客戶端(Javascrīpt)表單檢驗腳本來避免這種危險嗎?”是的,這總是一個有好處的步驟,但是正如在后面會看到的,任何人都可以將任何表單下載 到自己的機器上,修改它,然后重新提交他們需要的任何內容。

解決方案很簡單:必須對 $_POST['username'] 運行清理代碼。如果不這么做,那么在使用 $myUsername 的任何其他時候(比如在數組或常量中),就可能污染這些對象。

對用戶輸入進行清理的一個簡單方法是,使用正則表達式來處理它。在這個示例中,只希望接受字母。將字符串限制為特定數量的字符,或者要求所有字母都是小寫的,這可能也是個好主意。

清單 3. 使用戶輸入變得安全

以下為引用的內容:
$myUsername = cleanInput($_POST['username']); //clean!
$arrayUsers = array($myUsername, 'tom', 'tommy'); //clean!
define("GREETING", 'hello there' . $myUsername); //clean!
function cleanInput($input){   $clean = strtolower($input);    
$clean = preg_replace("/[^a-z]/", "", $clean);    
$clean = substr($clean,0,12);
return $clean;
}
?> 

規則 2:禁用那些使安全性難以實施的 PHP 設置

已經知道了不能信任用戶輸入,還應該知道不應該信任機器上配置 PHP 的方式。例如,要確保禁用 register_globals。如果啟用了 register_globals,就可能做一些粗心的事情,比如使用 $variable 替換同名的 GET 或 POST 字符串。通過禁用這個設置,PHP 強迫您在正確的名稱空間中引用正確的變量。要使用來自表單 POST 的變量,應該引用 $_POST['variable']。這樣就不會將這個特定變量誤會成 cookie、會話或 GET 變量。

規則 3:如果不能理解它,就不能保護它

一些開發人員使用奇怪的語法,或者將語句組織得很緊湊,形成簡短但是含義模糊的代碼。這種方式可能效率高,但是如果您不理解代碼正在做什么,那么就無法決定如何保護它。

例如,您喜歡下面兩段代碼中的哪一段?

清單 4. 使代碼容易得到保護

以下為引用的內容:
//obfuscated code
$input = (isset($_POST['username']) ? $_POST['username']:'');
//unobfuscated code
$input = '';
if (isset($_POST['username'])){    
$input = $_POST['username'];
}else{ 
$input = '';
}
?> 

在第二個比較清晰的代碼段中,很容易看出 $input 是有瑕疵的,需要進行清理,然后才能安全地處理。

規則 4:“縱深防御” 是新的法寶

本教程將用示例來說明如何保護在線表單,同時在處理表單的 PHP 代碼中采用必要的措施。同樣,即使使用 PHP regex 來確保 GET 變量完全是數字的,仍然可以采取措施確保 SQL 查詢使用轉義的用戶輸入。

縱深防御不只是一種好思想,它可以確保您不會陷入嚴重的麻煩。

既然已經討論了基本規則,現在就來研究第一種威脅:SQL 注入攻擊。

防止 SQL 注入攻擊

在 SQL 注入攻擊 中,用戶通過操縱表單或 GET 查詢字符串,將信息添加到數據庫查詢中。例如,假設有一個簡單的登錄數據庫。這個數據庫中的每個記錄都有一個用戶名字段和一個密碼字段。構建一個登錄表單,讓用戶能夠登錄。


本文出自:億恩科技【www.czbl888.cn】
$myUsername = 'tmyer';
$arrayUsers = array('tmyer', 'tom', 'tommy');
define("GREETING", 'hello there' . $myUsername);
?> 

但是,下面的數據元素都是有瑕疵的。

清單 2. 不安全、有瑕疵的代碼

以下為引用的內容:
$myUsername = $_POST['username']; //tainted!
$arrayUsers = array($myUsername, 'tom', 'tommy'); //tainted!
define("GREETING", 'hello there' . $myUsername); //tainted!
?> 

為 什么第一個變量 $myUsername 是有瑕疵的?因為它直接來自表單 POST。用戶可以在這個輸入域中輸入任何字符串,包括用來清除文件或運行以前上傳的文件的惡意命令。您可能會問,“難道不能使用只接受字母 A-Z 的客戶端(Javascrīpt)表單檢驗腳本來避免這種危險嗎?”是的,這總是一個有好處的步驟,但是正如在后面會看到的,任何人都可以將任何表單下載 到自己的機器上,修改它,然后重新提交他們需要的任何內容。

解決方案很簡單:必須對 $_POST['username'] 運行清理代碼。如果不這么做,那么在使用 $myUsername 的任何其他時候(比如在數組或常量中),就可能污染這些對象。

對用戶輸入進行清理的一個簡單方法是,使用正則表達式來處理它。在這個示例中,只希望接受字母。將字符串限制為特定數量的字符,或者要求所有字母都是小寫的,這可能也是個好主意。

清單 3. 使用戶輸入變得安全

以下為引用的內容:
$myUsername = cleanInput($_POST['username']); //clean!
$arrayUsers = array($myUsername, 'tom', 'tommy'); //clean!
define("GREETING", 'hello there' . $myUsername); //clean!
function cleanInput($input){   $clean = strtolower($input);    
$clean = preg_replace("/[^a-z]/", "", $clean);    
$clean = substr($clean,0,12);
return $clean;
}
?> 

規則 2:禁用那些使安全性難以實施的 PHP 設置

已經知道了不能信任用戶輸入,還應該知道不應該信任機器上配置 PHP 的方式。例如,要確保禁用 register_globals。如果啟用了 register_globals,就可能做一些粗心的事情,比如使用 $variable 替換同名的 GET 或 POST 字符串。通過禁用這個設置,PHP 強迫您在正確的名稱空間中引用正確的變量。要使用來自表單 POST 的變量,應該引用 $_POST['variable']。這樣就不會將這個特定變量誤會成 cookie、會話或 GET 變量。

規則 3:如果不能理解它,就不能保護它

一些開發人員使用奇怪的語法,或者將語句組織得很緊湊,形成簡短但是含義模糊的代碼。這種方式可能效率高,但是如果您不理解代碼正在做什么,那么就無法決定如何保護它。

例如,您喜歡下面兩段代碼中的哪一段?

清單 4. 使代碼容易得到保護

以下為引用的內容:
//obfuscated code
$input = (isset($_POST['username']) ? $_POST['username']:'');
//unobfuscated code
$input = '';
if (isset($_POST['username'])){    
$input = $_POST['username'];
}else{ 
$input = '';
}
?> 

在第二個比較清晰的代碼段中,很容易看出 $input 是有瑕疵的,需要進行清理,然后才能安全地處理。

規則 4:“縱深防御” 是新的法寶

本教程將用示例來說明如何保護在線表單,同時在處理表單的 PHP 代碼中采用必要的措施。同樣,即使使用 PHP regex 來確保 GET 變量完全是數字的,仍然可以采取措施確保 SQL 查詢使用轉義的用戶輸入。

縱深防御不只是一種好思想,它可以確保您不會陷入嚴重的麻煩。

既然已經討論了基本規則,現在就來研究第一種威脅:SQL 注入攻擊。

防止 SQL 注入攻擊

在 SQL 注入攻擊 中,用戶通過操縱表單或 GET 查詢字符串,將信息添加到數據庫查詢中。例如,假設有一個簡單的登錄數據庫。這個數據庫中的每個記錄都有一個用戶名字段和一個密碼字段。構建一個登錄表單,讓用戶能夠登錄。


本文出自:億恩科技【www.enidc.com】
-->

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線

     
     
    国产精品久久久久久久久久久新郎_91久久精品国产_国内精品久久久久久_欧美激情第一页在线观看_国产欧美日韩丝袜精品一区_日韩精品成人一区二区在线观看_国产精品v片在线观看不卡_91精品国产综合久久香蕉最新版 _国产精品亚洲激情_色综合男人天堂
    天天干天天色天天干| 免费午夜视频在线观看| 亚洲一区二区三区av无码| 最新av免费在线观看| 日韩毛片在线免费看| 欧美 丝袜 自拍 制服 另类| 毛片在线视频观看| 精品一区二区成人免费视频| 亚洲最大天堂网| mm131国产精品| 高清一区在线观看| 91热这里只有精品| 国产精品视频黄色| 成人精品小视频| 国产第一页视频| 欧美一级片中文字幕| 国产欧美在线一区| 北条麻妃在线一区| 免费大片在线观看| 三年中国国语在线播放免费| 欧美激情精品久久久久久小说| 91传媒久久久| 免费观看精品视频| 不卡av免费在线| 色婷婷成人在线| 毛片毛片毛片毛| 91香蕉视频免费看| 日本三级中文字幕在线观看| 日韩a级黄色片| 人人干视频在线| 日韩少妇内射免费播放18禁裸乳| 2022亚洲天堂| 污视频网站观看| 亚洲乱码中文字幕久久孕妇黑人| 日韩欧美一区三区| av免费播放网址| 黑鬼大战白妞高潮喷白浆| 男人操女人免费| 国产成人手机视频| 免费av不卡在线| 秋霞在线一区二区| 日韩极品视频在线观看 | 最近免费中文字幕中文高清百度| 国产福利视频在线播放| 免费激情视频在线观看| 伊人网在线综合| 国产奶头好大揉着好爽视频| 欧美另类videosbestsex日本| 黄色三级中文字幕| av天堂永久资源网| 日本一二区免费| 中文字幕色呦呦| 久色视频在线播放| 中文字幕av不卡在线| 黄色高清视频网站| 毛片在线视频播放| 国产色视频在线播放| 波多野结衣三级在线| 人妻av中文系列| 国产又大又黄又粗又爽| 婷婷激情小说网| 无码 制服 丝袜 国产 另类| 欧美在线观看视频网站| 免费观看黄色的网站| 精品欧美一区免费观看α√| 成 人 黄 色 小说网站 s色| 国产精品无码电影在线观看| 国产福利一区视频| 在线观看av的网址| 黄色三级视频片| 日本天堂免费a| 国产又大又黄又粗又爽| 国产情侣第一页| 欧美第一页浮力影院| 东北少妇不带套对白| 亚洲综合av在线播放| 国产妇女馒头高清泬20p多| 国产九九热视频| 亚洲不卡中文字幕无码| 国产美女视频免费看| 超碰97人人射妻| 国产欧美精品aaaaaa片| 亚洲欧美日韩综合网| 国产精品一区二区免费在线观看| 亚洲精品国产一区二区三区| 国产白丝袜美女久久久久| 久久久国产精华液999999| 久久久久久免费看| 欧美日韩久久婷婷| 丝袜制服一区二区三区| 欧美激情视频免费看| 9999在线观看| 激情五月婷婷久久| 国产青青在线视频| 欧美a级黄色大片| 性生活免费在线观看| 日韩欧美国产免费| 香港三级日本三级a视频| 中文字幕国产高清| 99热手机在线| 美女福利视频在线| 精品国产一区三区| 国产一级做a爰片久久毛片男| 911av视频| 国产区二区三区| 男人天堂网视频| 妞干网在线观看视频| 永久免费看av| 日本不卡一区二区三区四区| 欧美伦理片在线观看| 99久久国产宗和精品1上映| 蜜臀av无码一区二区三区| 亚洲高潮无码久久| 手机在线免费毛片| 亚洲精品永久视频| 天天干天天综合| 三级视频中文字幕| 黄色一级二级三级| 久草综合在线观看| 黄色片久久久久| 欧美污视频网站| 成人羞羞国产免费网站| 免费观看日韩毛片| 国产午夜伦鲁鲁| 欧美一级在线看| 91av资源网| 国产成人a亚洲精v品无码| 成年人视频网站免费观看| 国产二区视频在线播放| 亚洲国产精品久久久久婷蜜芽| 欧美一级视频免费看| www.av中文字幕| 亚洲国产精品久久久久婷蜜芽| 97国产在线播放| 国产亚洲精品网站| 99久久国产宗和精品1上映| 日本精品久久久久中文字幕| 国产熟人av一二三区| 美女网站色免费| 涩多多在线观看| 艳母动漫在线免费观看| 91嫩草国产丨精品入口麻豆| 国产免费xxx| 五月丁香综合缴情六月小说| 男女高潮又爽又黄又无遮挡| 亚洲乱码国产一区三区| 激情黄色小视频| 99热这里只有精品7| 成人在线国产视频| 黑人糟蹋人妻hd中文字幕| 九九热免费精品视频| 在线免费黄色网| 轻点好疼好大好爽视频| 精品国产一二三四区| 一区二区三区入口| 中文字幕在线视频一区二区| 日韩一级特黄毛片| 日韩精品一区二区三区久久| 无限资源日本好片| 黄色网络在线观看| 自拍日韩亚洲一区在线| 一区二区三区国产免费| 天天综合中文字幕| 全黄性性激高免费视频| 日本美女高潮视频| 午夜久久久久久久久久久| 久久亚洲中文字幕无码| 天天干天天综合| 精品久久久无码人妻字幂| 日本精品一区二区三区四区| 777一区二区| 18禁裸男晨勃露j毛免费观看| 99精品视频播放| 亚洲第一精品区| 久久综合九色综合88i| 五月天av在线播放| 精品久久久久久无码中文野结衣| 无码内射中文字幕岛国片| 深爱五月综合网| 国产免费毛卡片| 亚洲美女自拍偷拍| 苍井空浴缸大战猛男120分钟| 一级一片免费播放| 37pao成人国产永久免费视频| 国产精品久久久久久久av福利| 日韩五码在线观看| 图片区乱熟图片区亚洲| 欧美在线观看成人| 操bbb操bbb| 成人亚洲视频在线观看| 国产91在线亚洲| 小明看看成人免费视频| 国产91在线免费| 男同互操gay射视频在线看| 中文字幕在线观看第三页| 又大又硬又爽免费视频| 久久久九九九热| 国产aaaaa毛片| 国产午夜福利在线播放| 色呦呦网站入口|