我會盡量使用下面的示例代碼來保持這一簡潔和簡單。你認爲這是任何形式的SQL注入的問題......?SQL注入預防 - 單行方法?
$tmpVar = isset($_POST['somePostVar']) ? pg_escape_string(utf8_encode(preg_replace('/[^a-z0-9_]+/i', '', filter_var($_POST['somePostVar'], FILTER_SANITIZE_STRING)))) : 'error';
雖然我知道有一些可能在使用這四種方法殺/冗餘..我還是比較安全比遺憾,因此要求在這裏。
此結果的變量是用作
SELECT * FROM table_name WHERE someCol='$tmpVar'
現在我知道有這樣一個圍繞重複的問題,我也明白,同時不是在計算器上的一大海報...每日瀏覽器使用我是...
因此,使用pg_escape_string,函數utf8_encode符,preg_replace和filter_var ......這串只限於用下劃線爲字符.. 難道是與SQL注入的形式,容易折斷
utf8_encode也在這裏,因爲postgresql在使用pg_escape_string時可能會遇到問題。所以他們在這種情況下攜手合作。
請理解我確實知道每個功能的作用,有些可能會過度使用字符串......但有些情況需要考慮,其中一個簡單的修復並不總是那麼容易......問題是可以這個特殊的字符串仍然會被打破注入... – Mayhem