2012-08-07 28 views
0

我在wordpress中使用S2member插件來生成對PPV內容(體育賽事視頻)的訪問。這是在付款後設置爲單頁訪問。當用戶點擊購買,需要他們的PayPal,然後付款後重定向他們回到禁區頁面具有獨特的URL字符串something.com/?s2member_sp_access=635v545d52504p4i4q5v645n5c3j313e5f3c3u493t3d3h3d323d5e4a3t3v3a3c3737373b49483m3h3j313e5f3c3u493n3dhtaccess一次允許1個唯一的url /鏈接訪問頁面

現在我的問題是,儘管每個用戶網購獲取唯一的url字符串,他們可以複製併發送給其他人,並將內容訪問給任何他們想要的人,而無需支付。

我想關閉這個漏洞,有一些地方只允許一個唯一的URL(字符串)訪問頁面在同一時間。因此,即使他們放棄了網址,也只有一個人可以同時進入,並免費結束多個用戶。

這可能嗎?

回答

1

最終,對於希望重新分配內容的用戶來說,可以做的最多的事情並不多。即使您將URL單次使用,客戶仍可以下載一次,然後將其複製給其他人。爲了抵消這一點,您可能會考慮使用水印來使每個客戶的內容具有唯一性,以便您至少能夠知道哪個客戶重新分配了內容,如果您發現其中的副本。

這就是說,你問的問題沒有道理。你說「允許同時只允許一個唯一的URL(字符串)訪問該頁面」,但是url(字符串)不能訪問網頁,用戶代理就這樣做!

至少有兩件事情可以讓客戶難以重新分配用於下載內容的URL並且可能會影響隨意嘗試重新分配。兩者都要求你在URL訪問時運行一些代碼(一個腳本等),它們不是你自己放在.htaccess中的配置。

  • 使URL單次使用。

    每當訪問唯一的URL時,請檢查一個數據庫,以標記每個唯一的URL是否曾被使用。如果以前未使用過,請將其標記爲已使用。如果之前使用過,請拒絕該請求。

    :易

    精讀供用戶下載其斷裂或中斷非常煩人。他們不能重試!

  • 使用Cookie使URL只能在一個瀏覽器中工作。

    每當訪問唯一的URL時,請檢查用戶代理是否提供了具有特定名稱的cookie。如果不是,這可能是第一次訪問此URL。檢查你的數據庫,看看是否應該爲這個唯一的URL設置cookie。如果是,則拒絕該請求。如果不是,那麼爲這個cookie選擇一個新的隨機值,並將其設置在數據庫中,並將其與響應一起返回。如果用戶代理確實在提供了一個cookie,請檢查其對數據庫的值以確保它是正確的,並且只有在肯定時才允許請求。

    :一個客戶可以從一個瀏覽器訪問URL的無限次

    精讀:一個聰明的用戶可以在cookie值從他們的瀏覽器中複製併發布,以便其他人可以設置它在他們的瀏覽器中手動並阻止你的保護方案。