有没有一种办法,让URL中不安全的字符?

时间:2019-02-02 21:42:01

标签: php asp.net linux apache url

我一直在尝试升级旧的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上请求不安全的字符而不会崩溃。 必须在网址中对它们进行转义,因为数据源会将特殊字符视为未转义

0 个答案:

没有答案