gpt4 book ai didi

php - htaccess 中的 mod_rewrite 是否有助于防止注入(inject)?

转载 作者:行者123 更新时间:2023-11-30 01:36:22 25 4
gpt4 key购买 nike

我正在致力于识别和修复 SQL 注入(inject)漏洞。我已经在很多地方转换为 pdo/prepared 语句。

但是,我们有一个页面如下所示:

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 重写的,它只匹配整数,这是否可以防止 sql 注入(inject)?如果您在 URL 中尝试除整数之外的任何其他内容,用户只会收到 404 错误,因为该页面不存在并且 mod_rewrite 未激活?

提前致谢。

最佳答案

不会,因为恶意用户可以简单地访问该 URL

www.site.com/domain/product.php?id=123'; DROP TABLE products;

并完全绕过你的mod_rewrite。尽管只有整数会被重写,但它们被重写以使用的 URL 仍然有效且可访问。每当您进行 SQL 查询时,您都应该使用 PDO 等清理此时进入查询的每个输入。

关于php - htaccess 中的 mod_rewrite 是否有助于防止注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16823137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com