幻燈片 2
1
、
php
注入的基本原理
幻燈片 2
程式設計師的水平及經驗也參差不齊,相當大一部分程式設計師在編寫**的時候,沒有對
使用者輸入資料的合法性進行判斷,使應用程式存在安全隱患。使用者可以提交一段資料
幻燈片 2
sql
注入過程
庫查詢**,根據程式返回的結果,獲得某些他想得知的資料,這就是所謂的
sql injection
,即
sql
注入。
受影響的系統:對輸入的引數不進行檢查和過濾的系統
幻燈片 2
正常來講,我們通過位址接收一些必要的引數如:
php100.php?id=
2
頁面中我們會使用
2
寫入到
sql
語句中
正常情況:
select * from table where id=2
如果我們對
sql
語句熟悉,就知道
2
我們可以替換成我們需要的
sql
語句
如:
and exists (select id from admin)
2、防止注入的幾種辦法
其實原來就是我們需要過濾一些我們常見的關鍵字和符合如:
select,insert,update,delete,and,*,等等
function inject_check($sql_str)
或者是通過系統函式間的過濾特殊符號
addslashes(需要被過濾的內容)
3、php其他地方安全設定
1、register_globals = off 設定為關閉狀態
2、sql語句書寫時盡量不要省略小引號和單引號
select * from table where id=2 (不規範)
select * from ·table· where ·id·=』2』 (規範)
3、正確的使用 $_post $_get $_session 等接受引數,並加以過濾
4、提高資料庫命名技巧,對於一些重要的字段可根據程式特點命名
5、對於常用方法加以封裝,避免直接暴露sql語句
php如何防止SQL注入
說明 判斷傳遞的變數中是否含有非法字元 如 post get 功能 防注入 要過濾的非法字元 arrfiltrate array union add 出錯後要跳轉的url,不填則預設前一頁 是否存在陣列中的值 function funstringexist strfiltrate,arrfiltra...
PHP如何防止SQL注入
一 引言 php是一種力量強大但相當容易學習的伺服器端指令碼語言,即使是經驗不多的程式設計師也能夠使用它來建立複雜的動態的web站點。然而,它在實現網際網路服務的秘密和安全方面卻常常存在許多困難。在本系列文章中,我們將向讀者介紹進行web開發所必需的安全背景以及php特定的知識和 你可以藉以保護你自...
php如何防止SQL注入
通過把sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。在使用者名稱輸入框中輸入 or 1 1 密碼隨便輸入,這時候的合成後的sql查詢語句為 在mysql中是注釋符,這樣井號後面的內容將被mysql視為注釋內容,這樣就不會去執行了,等價於 s...