我一直在尝试升级旧的Game Server Api,以使用特殊的非安全字符(例如0x20和0x08)发送请求
Request sent from the application
Answer from apache after the request
我正在尝试更改.htaccess以获得那些特殊字符,然后像其他任何浏览器一样将其替换为%hex。
RewriteRule ^(.*)\x08(.*)$ $1%08$2 [B]
RewriteRule ^(.*)\x20(.*)$ $1%20$2 [B]
我还向apache2.conf中添加了以下选项
HttpProtocolOptions unsafe
一种工作方式是使用IIS托管php,并使用 Windows注册表编辑器强制IIS允许未转义的字符。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters]
"DisableServerHeader"=dword:00000001
"AllowUnEscapedRestrictedChars"=dword:00000001
"AllowWeakHeaderValueSyntax"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\SslBindingInfo]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\UrlAclInfo]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\Synchronize]
但后来使用我不能运行在基于Linux机器的主要API - 这是该项目的目标。 我想知道是否有人遇到过这个问题。我希望能够在URL上请求不安全的字符而不会崩溃。 必须在网址中对它们进行转义,因为数据源会将特殊字符视为未转义