0

我需要提供一个将在在线游戏(使用桌面软件)中使用的纹理 URL,并且我需要防止人们从浏览器打开纹理并允许纹理只能由该游戏打开。

该游戏与第二人生非常相似,它使用相同引擎的一部分。

我不需要反黑客方法,只是一种防止拥有该 URL 的用户在浏览器中打开它的方法。

我知道有人做过,但我不知道怎么做,但我知道这是可能的。

我想我需要用 .htaccess 检查 HTTP 标头并以某种方式过滤,但我不知道如何。

我能怎么做?

4

1 回答 1

2

QUERY_STRING从桌面软件发出 HTTP 请求时使用秘密参数。可以检查此htaccess参数名称/值并相应地授予访问权限。如果你所有的纹理都出现在你的身上,/textureshtaccess会看起来像:

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_URI} ^/textures [NC]
RewriteCond %{QUERY_STRING} !(^|&)password(=|&|$) [NC]
RewriteRule ^ - [F]


如果请求 URL 超出您的控制范围,您需要查看 IP 地址(如果是静态 IP)或软件的User-AgentHTTP 标头,这些标头可用于唯一标识并授予对它的访问权限。

RewriteCond %{HTTP_USER_AGENT} !software_id [NC]

在这里,software_id表示您的软件的某些部分User-Agent。例如,要仅授予对 iPhone 的访问权限,可以使用!iphone [NC]上述方法。

于 2013-10-15T18:29:48.227 回答