有沒有什麼簡單地,一勞永逸地防止SQL注入的方法?

來源:互聯網
上載者:User
剛才搜了一下,好像都挺複雜的。
我說一下我的想法:
首先不知道MySQL是不是所有類型的資料都可以加上單引號,我剛才試了一下,在整數左右加上單引號好像是沒有問題。
如果確實任何類型的資料都可以加單引號的話,那麼就在產生MySQL語句的時候為任何資料都加上單引號,然後使用mysql_escape_string將接收到的字元中的所有特殊字元轉義。這樣就可以將接收到的字串完全“限制”在單引號之間了。

但是就算這樣好像也是不能一勞永逸,因為類似like子句後面的字串中的轉義和正常的字串好像是不一樣的。另外如果AMP中任何一個的更新涉及到轉義的話,可能都會出現問題。這兩個問題有沒有一勞永逸地解決的方法?還有沒有其他的問題?

其他的資料庫所有類型的資料都可以加單引號嗎?


回複討論(解決方案)

php mysql 都有過濾函數 基本上能夠讓你安心了。

牛牛一直很熱心的協助別人啊

我推薦樓主使用php架構,因為架構有轉門的防sql注入機制。
如:thinkphp,yii

沒有一勞永逸的方法
雖然目前尚未有已知SQL攻擊以外的攻擊方法的報到,但並不能說就不會有新方法出現
如果能一勞永逸的話,你就得防範未來了(有點科幻的味道)

php 也曾以為可以替你完成預防SQL攻擊的工作
於是做了每次只允許執行一條SQL命令的限制和magic_quotes_gpc自動轉義開關
但情況並沒有像他們期望的那樣,依然有很多php程式員在大談所謂的SQL攻擊
鑒於無法建立信任關係,於是php放棄了自動轉義的支援,放寬了SQL指令發送的約束

於是所謂的安全問題就完全落在程式員自己身上了....

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.