簡體   English   中英

使用 MDB2 防止 PHP 中的 SQL 注入

[英]Preventing SQL injection in PHP with MDB2

我試圖弄清楚如何防止sqlinjection,我寫了這個基本的function:function

antiInjectie($inputfromform){
    $temp = str_replace("'", "`",$inputfromform);
    $temp = str_replace("--", "~~",$temp);
    return htmlentitites($temp);
}

但是有人告訴我也要考慮十六進制值,但是我該怎么做呢?

更新我堅持使用 MDB2 和 pgsql

Bobby-Tables有一個很好的指南來防止 SQL 注入。

簡而言之:不要自己玩弄輸入,使用允許綁定參數的數據庫 API 方法。

使用MDB2 ,您可以執行與 PHP 的原生PDO 抽象相同的操作,該抽象在相關問題中提出停止 SQL 注入 Z2FEC392304A5C23AC138DA22847F9BC7 的最佳方法 您可以將准備好的語句與prepareexecute一起使用,也可以手動引用和插入值。

使用pg_query_params() ,最簡單的 function 來避免 SQL 注入,使用 PHP4866ZF16 和 Z399BD39ECAA987。

首先,不要自己寫任何轉義的function。 它們很可能被破壞,並且數據庫庫很可能包含正確的庫。 對於 mysql 您可以使用mysql_real_escape_string

一個更好的長期解決方案不是將完整的查詢創建為文本,而是使用准備好的查詢並在執行期間傳遞值。 對於 mysql,檢查 mysqli 擴展。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM