摘要:注入注入是一種惡意攻擊,用戶利用在表單字段輸入語句的方式來影響正常的執行。防范方式是針對非法的代碼包括單雙引號等,使用函數。如許多函數,如可以包含或文件名防范方式過濾用戶輸入在中設置禁用和。這將禁用的遠程文件。
SQL注入
SQL注入是一種惡意攻擊,用戶利用在表單字段輸入SQL語句的方式來影響正常的SQL執行。
防范方式使用mysql_real_escape_string(),或者addslashes()過濾數據
手動檢查每一數據是否為正確的數據類型
使用預處理語句并綁定變量
使用準備好的預處理語句
分離數據和SQL邏輯
預處理語句將自動過濾(如:轉義)
把它作為一個編碼規范,可以幫助團隊里的新人避免遇到以上問題
預處理語句大大減少了分析時間,只做了一次查詢(雖然語句多次執行)。
綁定參數減少了服務器帶寬,你只需要發送查詢的參數,而不是整個語句。
預處理語句針對SQL注入是非常有用的,因為參數值發送后使用不同的協議,保證了數據的合法性。
使用mysqli數據庫
使用PDOStatement類對象
查詢只需要被解析(或準備)一次,但可以使用相同或不同的參數執行多次。當查詢準備好(Prepared)之后,數據庫就會分析,編譯并優化它要執行查詢的計劃。對于復雜查詢來說,如果你要重復執行許多次有不同參數的但結構相同的查詢,這個過程會占用大量的時間,使得你的應用變慢。通過使用一個預處理語句你就可以避免重復分析、編譯、優化的環節。簡單來說,預處理語句使用更少的資源,執行速度也就更快。
關于SQL注入,不得不說的是現在大多虛擬主機都會把magic_quotes_gpc選項打開,在這種情況下所有的客戶端GET和POST的數據都會自動進行addslashes處理,所以此時對字符串值的SQL注入是不可行的,但要防止對數字值的SQL注入,如用intval()等函數進行處理。但如果你編寫的是通用軟件,則需要讀取服務器的magic_quotes_gpc后進行相應處理。
XSS攻擊XSS(跨站點腳本攻擊)是一種攻擊,由用戶輸入一些數據到你的網站,其中包括客戶端腳本(通常JavaScript)。如果你沒有過濾就輸出數據到另一個web頁面,這個腳本將被執行。
防范方式是針對非法的HTML代碼包括單雙引號等,使用htmlspecialchars()函數 。
在使用htmlspecialchars()函數的時候注意第二個參數, 直接用htmlspecialchars($string) 的話,第二個參數默認是ENT_COMPAT,函數默認只是轉化雙引號(“), 不對單引號(‘)做轉義.
所以,htmlspecialchars函數更多的時候要加上第二個參數, 應該這樣用: htmlspecialchars($string,ENT_QUOTES).當然,如果需要不轉化如何的引號,用htmlspecialchars($string,ENT_NOQUOTES).
另外, 盡量少用htmlentities, 在全部英文的時候htmlentities和htmlspecialchars沒有區別,都可以達到目的.但是,中文情況下, htmlentities卻會轉化所有的html代碼,連同里面的它無法識別的中文字符也給轉化了。
htmlentities和htmlspecialchars這兩個函數對 "之類的字符串支持不好,都不能轉化, 所以用htmlentities和htmlspecialchars轉化的字符串只能防止XSS攻擊,不能防止SQL注入攻擊.
代碼注入代碼注入是利用計算機漏洞通過處理無效數據造成的。問題出在,當你不小心執行任意代碼,通常通過文件包含。寫得很糟糕的代碼可以允許一個遠程文件包含并執行。如許多PHP函數,如require可以包含URL或文件名
防范方式過濾用戶輸入
在php.ini中設置禁用allow_url_fopen和allow_url_include。這將禁用require/include/fopen的遠程文件。
文章參考:
https://blog.csdn.net/tim_php...
https://blog.csdn.net/come_on...
https://www.cnblogs.com/wt645...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29613.html
摘要:一常見網站安全漏洞對于的漏洞,目前常見的漏洞有五種。分別是文件漏洞注入漏洞腳本命令執行漏洞全局變量漏洞和文件漏洞。這就是月行胃的注入漏洞。 一、常見PHP網站安全漏洞 對于PHP的漏洞,目前常見的漏洞有五種。分別是Session文件漏洞、SQL注入漏洞、腳本命令執行漏洞、全局變量漏洞和文件漏洞。這里分別對這些漏洞進行簡要的介紹。 1、session文件漏洞 Session攻擊是黑客最常...
摘要:每個專業的開發者都知道用戶上傳的文件都是極其危險的。如何防止引入用戶上傳的文件重命名文件名可以嗎不,辦不到解析器不關心文件的后綴名。服務器通常被設置成執行文件并將執行結果回復輸出。如何進行檢查這很簡單。用戶可以上傳文件到該站點。 showImg(https://segmentfault.com/img/remote/1460000017893665?w=1200&h=627); 每個專...
摘要:我們做代碼審計之前選好工具也是十分必要的。一審計工具介紹代碼審計系統功能介紹是一款基于開發的針對代碼安全審計的軟件。自定義審計規則。黑盒敏感信息泄露一鍵審計。挖掘這種漏洞主要是檢查是否使用了,搜索和。 GitChat 作者:湯青松原文:PHP 開發者如何做代碼審查?關注微信公眾號:「GitChat 技術雜談」 一本正經的講技術 【不要錯過文末彩蛋】 前言 工欲善其事,必先利其器。我們做...
閱讀 1775·2021-10-19 13:30
閱讀 1348·2021-10-14 09:48
閱讀 1541·2021-09-22 15:17
閱讀 2012·2019-08-30 15:52
閱讀 3281·2019-08-30 11:23
閱讀 1992·2019-08-29 15:27
閱讀 897·2019-08-29 13:55
閱讀 758·2019-08-26 14:05