gpt4 book ai didi

php - 为什么我会收到 HTTP 406 错误?

转载 作者:可可西里 更新时间:2023-11-01 16:28:31 26 4
gpt4 key购买 nike

在进行快速测试以检查 SQL 注入(inject)时(并非详尽无遗,只是出于好奇),我输入了

'OR 1=1

进入我的搜索栏,服务器向我抛出 406 HTTP 错误。我发现它很奇怪,并认为这可能是一个 SQL 问题,但其他粗略的 SQL 注入(inject)测试如

'OR true

但该网站 react 正确并分隔了 '.我觉得现在可以肯定地说这不是 SQL 问题,尽管这里有 php 清理代码以防万一

$query = trim(str_replace(array('%', '_'), array('\\%', '\\_'), mysqli_real_escape_string($con, htmlspecialchars($query))));

根据快速谷歌搜索(source1source2source3),当返回的数据类型与 HTTP 请求 header 不匹配时,会出现 406 错误。我发现类型不匹配很奇怪,因为其他查询工作得很好。事实上

'OR 1 'OR 1=

两者都工作正常(即它们被正确转义)。常规搜索结果,即非恶意搜索结果也会正确返回。关于为什么会发生这种情况的任何建议?如果这意味着什么,我将使用 GoDaddy 进行托管。

最佳答案

启用 mod_security 后,如果它检测到“明显的”SQL 注入(inject),则会抛出 406 错误。看看你的日志,它必须说这样的话:

ModSecurity:访问被拒绝,代码为 406 [...] [标记“WEB 攻击/SQL 注入(inject)”]

关于php - 为什么我会收到 HTTP 406 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21806088/

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