關於php中sql注射的有關問題

來源:互聯網
上載者:User
關於php中sql注射的問題
我自己做了個小論壇,偶然發現了可以注射比如:http://localhost/BBS/detail.php?articalID=4

目的是:顯示文章ID為4的文章,我現在在後面加上這樣一句話就遍了樣:http://localhost/BBS/detail.php?articalID=4 or 1=1,返回的結果是所有的文章都顯示出來了,後來我在網上看到了這樣一個函數:
PHP code
function safe($string){return "'" . MySQL_real_escape_string( $string ) . "'";}

,結果使用了自訂函數之後報錯了,這個MySQL_real_escape_string能給個詳細的用法嗎?

怎麼防止注射?

------解決方案--------------------
PHP code
function safe($string=null){ return addslashes($string);}
------解決方案--------------------
一般來說,外部(POST,GET)擷取的整數類型的值使用前加 intval()轉換,字串類型的加上 mysql_real_escape_string()過濾就可以了。

推薦一篇相關的文檔,IBM網站上的:
確保 PHP 應用程式的安全 不能違反的四條安全規則
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.