這篇文章主要介紹了php防止sql注入的方法,簡單分析了通過stripslashes及mysql_real_escape_string函數進行字符轉移處理的技巧,非常具有實用價值,需要的朋友可以參考下
本文實例分析了php防止sql注入簡單方法。分享給大家供大家參考。具體如下:
這里只說一個簡單的方法
防止Sql注入的方法有很多,這里要說的其實就是漏洞演練平臺Dvwa里的一種方式
直接看high級別的就可以了
- $id = $_GET['id'];
- $id = stripslashes($id);
- $id = mysql_real_escape_string($id);
- if (is_numeric($id)){
- $getid = "SELECT first_name,last_name FROM users WHERE user_id='$id'";
- $result = mysql_query($getid) or die('<pre>'.mysql_error().'</pre>');
- $num = mysql_numrows($result);
可見它的處理方式是首先通過 stripslashes 函數刪除變量中的反斜杠 /,
然后再使用函數mysql_real_escape_string 轉義特殊字符就行了。
所以當我們編寫類似代碼的時候
- $getid="SELECT first_name,last_name FROM users WHERE user_id='$id'";
我們最簡單的方法是
直接將變量$id 進行stripslashes 和 mysql_real_escape_string 處理。
注意: 這里并不是說這樣就安全了, 這只是其中一種方式我可沒說這就安全了。 更多的還要依據實際情況進行處理。
希望本文所述對大家的php程序設計有所幫助。
新聞熱點
疑難解答