国产精品久久久久久久久久久新郎_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免费中文字幕| 性欧美极品xxxx欧美一区二区| 青青青在线视频播放| 中文字幕日韩久久| 浓精h攵女乱爱av| 99精品视频播放| 欧美v在线观看| 亚洲熟妇av一区二区三区漫画| 日韩久久久久久久久久久久| 亚洲第一综合网站| 色偷偷中文字幕| 在线视频观看一区二区| 国产永久免费网站| 手机免费看av网站| 99re6在线观看| 色婷婷激情视频| 手机在线免费毛片| 国产又爽又黄ai换脸| 一级黄色高清视频| 国产奶头好大揉着好爽视频| 国产手机视频在线观看| 免费观看亚洲视频| 夜夜添无码一区二区三区| 国产精品网站免费| 免费看又黄又无码的网站| av免费观看网| 午夜视频在线瓜伦| 无尽裸体动漫2d在线观看| 中文字幕第66页| 狠狠噜天天噜日日噜| 日韩人妻无码精品久久久不卡| 少妇高潮喷水在线观看| 国产三区在线视频| www亚洲成人| 色撸撸在线观看| 久久国产午夜精品理论片最新版本| 分分操这里只有精品| 国产最新免费视频| 乌克兰美女av| 潘金莲一级淫片aaaaa免费看| 国产一区二区片| 欧美成人xxxxx| 日本美女高潮视频| 国产精品亚洲天堂| 人妻av中文系列| 欧美日韩大尺度| 天堂av在线8| 久久精品xxx| 日韩一级免费在线观看| 国产乱码一区二区三区四区| 免费网站永久免费观看| 精品一卡二卡三卡| 亚洲精品在线网址| 欧美日韩黄色一级片| 九色porny自拍| 日本精品久久久久久久久久| 青青草精品视频在线观看| av电影一区二区三区| 久久综合色视频| www.久久久精品| 国产精品久久久久久久乖乖| 看欧美ab黄色大片视频免费| www.18av.com| xxxx一级片| 真人抽搐一进一出视频| 高潮一区二区三区| 欧美成人高潮一二区在线看| 九色porny自拍| 精品无码国模私拍视频| 亚洲天堂伊人网| 成年人视频网站免费观看| 亚洲成年人专区| 91香蕉视频污版| 日本xxxxxxxxxx75| 激情成人在线观看| 爱情岛论坛vip永久入口| 无码 制服 丝袜 国产 另类| 伊人色在线视频| 999香蕉视频| 妺妺窝人体色www看人体| 一个色综合久久| 777精品久无码人妻蜜桃| 无套内谢丰满少妇中文字幕| 国产精品欧美激情在线观看| 亚洲一区 在线播放| 天天影视综合色| 黄色网页免费在线观看| 黄色污污在线观看| 欧美一级xxxx| 国产成人综合一区| 成人免费毛片在线观看| 欧美亚洲视频一区| 久久国产激情视频| 青青在线视频免费| 国内自拍在线观看| 国产成a人亚洲精v品在线观看| 玖玖爱视频在线| av视屏在线播放| 日日摸日日碰夜夜爽av| 搞av.com| a级黄色小视频| 欧美交换配乱吟粗大25p| 亚洲高清av一区二区三区| 欧美大尺度做爰床戏| 国产亚洲精品网站| aa在线观看视频| 一卡二卡三卡视频| 日韩精品手机在线观看| 欧美国产在线一区| 一二三av在线| www,av在线| 特级黄色片视频| 天堂在线一区二区三区| 手机av在线免费| 9l视频白拍9色9l视频| 久久久精品麻豆| 无码日韩人妻精品久久蜜桃| 精品国产成人av在线免| 欧美日韩第二页| 国产精品免费成人| 看欧美ab黄色大片视频免费| av观看免费在线| 情侣黄网站免费看| 97国产精东麻豆人妻电影| 国产黄色一级网站| 97在线播放视频| 国产性生交xxxxx免费| 午夜欧美福利视频| 日本黄色的视频| 天天干天天曰天天操| 97超碰人人爱| 欧美久久久久久久久久久久久久| 日本大片免费看| 国产精品333| 日本999视频| 欧美婷婷精品激情| 久久6免费视频| 99精品一区二区三区的区别| 欧美日韩中文字幕在线播放| 欧妇女乱妇女乱视频| 一本大道熟女人妻中文字幕在线 | 无码日本精品xxxxxxxxx| 99在线免费视频观看| www.av中文字幕| 任你操这里只有精品| 99热一区二区| 亚洲区成人777777精品| 亚洲熟妇无码另类久久久| 日韩欧美xxxx| 免费不卡av网站| 欧美亚洲精品一区二区| 国产a级片免费观看| 中文字幕在线视频一区二区三区 | 国产白丝袜美女久久久久| 国产成人精品视频ⅴa片软件竹菊| 亚洲视频第二页| 99久久久精品视频| 毛片一区二区三区四区| 中文字幕成人免费视频| 成年人视频网站免费| 欧美视频第三页| 在线播放黄色av| 欧美 日韩 国产在线观看| 污污动漫在线观看| 欧美乱做爰xxxⅹ久久久| 日本新janpanese乱熟| 自拍偷拍视频在线| 少妇高潮喷水久久久久久久久久| 日本不卡一区二区在线观看| 久久人人爽人人爽人人av| 69久久久久久| 久久久性生活视频| 亚洲天堂2018av| 国产v片免费观看| 久久久久久久高清| av动漫在线观看| 国风产精品一区二区| 午夜国产一区二区三区| 霍思燕三级露全乳照| 午夜av中文字幕| 黑鬼大战白妞高潮喷白浆| 大陆极品少妇内射aaaaaa| 国产三级三级三级看三级| 日韩精品一区二区在线视频| 久久久久国产一区| 国产精品又粗又长| 天堂av.com| 91n.com在线观看| 九一国产精品视频| 精品久久免费观看| 爱情岛论坛亚洲首页入口章节| 国产日韩av网站| 好色先生视频污| 污视频网址在线观看| 国产成人亚洲精品无码h在线| 五月天激情图片| 国产不卡的av| 777一区二区| mm1313亚洲国产精品无码试看| 成年人网站国产|