我正在確定並修復SQL注入漏洞。我已經在許多地方轉換爲pdo/prepared語句。htaccess中的mod_rewrite是否有助於防止注入?
但是,我們有一個頁面,看起來像這樣:
www.site.com/domain/products/12345/description-of-the-product
在htaccess的,這是改寫爲:
www.site.com/domain/product.php?id=12345
的htacess看起來是這樣的:
RewriteRule ^(.*)/products/([0-9]+)/([^/\.]+)/?$ /$1/product.php?id=$2 [L]
所以,這裏是我的問題:由於url正在用mod_rewrite重寫,而mod_rewrite只能匹配ingtegers,所以我這有一些保護,防止SQL注入?如果你嘗試除了整數之外的其他URL,用戶只會得到一個404錯誤,因爲該頁面不存在,並且mod_rewrite沒有被激活?
在此先感謝。
你確定你是在談論SQL注入和XSS不打針?除非你註冊全局變量(我認爲這是來自另一個千年),否則uri和sql引擎之間沒有直接關係。你是否直接在php中解析id? – Sebas
如果我輸入地址欄www.site.com/domain/product.php?id=12345'; DROP TABLE成員; - ? – claustrofob
@claustrofob它不會觸發重寫規則? –