2013-10-15 117 views
0

我需要提供將用於在線遊戲(使用桌面軟件)的紋理URL,我需要防止人們從瀏覽器打開紋理,並允許紋理只能由該遊戲打開。在每個瀏覽器中查看/下載塊圖像

這款遊戲與Second Life非常相似,它使用了相同引擎的一部分。

我不需要防黑客方法,只是一種方法來阻止用戶在瀏覽器中打開URL。

我知道有人做了它,但我不知道如何,但我知道是可能的。

我想我需要用.htaccess檢查HTTP頭並以某種方式過濾,但我不知道如何。

我該怎麼辦?

回答

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-Agent HTTP標頭。

RewriteCond %{HTTP_USER_AGENT} !software_id [NC] 

這裏,software_id表示的某些部分軟件的User-Agent。例如,要授予對iPhone的訪問權限,可以使用上面的!iphone [NC]

+0

我還沒有訪問桌面軟件,我只能使用預製的工具,而紋理只是一個鏈接。 – PurpleFoxy

+0

不,不可能。如果沒有區分來自瀏覽器的請求和來自軟件的請求,則無法決定是否允許訪問。必須有類似於IP地址的東西(不會工作,因爲我相信一個軟件可以有多種安裝方式),用戶代理等等,但是如果你無法訪問桌面軟件,這些都不起作用。 –

+0

我可以製作一個「php圖像」,並可能嗅探軟件的用戶代理。我會嘗試 – PurpleFoxy