在 Apache 错误日志中,我看到很多类似这样的请求。这些请求似乎来自中国。
文件不存在:C:/site/htdocs/analysis\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd,引用者:http://wo.iuni.com.cn/card/?p=zfau2mj48AVTKFeWO8mnePcdq7zl+q4+tPCaeoKR2reaA9jgJO0XdeO/EjyUl2rPl2Nye8qPK2kkuuwEO6GS4WxUvSp39KwXlY+zt64GNVUTUo8p1Z0HTPbk/NjFDYSDff3pIfHIIKRSQIvX/TTvl/g4IQLoLV4kpC0tIsuX/y1x9xec0L39H+v1VIYa7etp
我该如何翻译 \xef\xbf... 才能理解为什么会发生这种情况?
答案1
\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd
可能是 Unicode。另外,十六进制字符串\xef\xbf\xbd
转换为带有问号的黑色菱形(显然称为“替换字符”)。三次。该字符串也在文档中特别提到UTF-8 解码能力及压力测试。
?
我最好的猜测是,有人犯了一个错误,或者试图将错误的数据放入脚本中;但是,如果后者是真的,那么她忘记在路径和字符串之间设置\xef\xbf\xbd
。
答案2
这些是无法像自然字母符号、数字那样显示的特殊字符,例如 SPACE 或 NEWLINE。每个 \xef 都是 ASCII 表中编号为 EF 的符号的十六进制表示(完整表格在此处http://www.ascii-code.com/并且可以找到更多示例)。
如果您的服务器被扫描或者用户输入了包含特殊字符的错误 URL,这些代码就会出现在日志中。