我的網站包含原型框架並使用PHP進行編程。 (我知道非常非常基本的JavaScript)原型請求Ajax.Updater每個請求的安全/認證
網站正常遊客&其行爲
有些什麼類似KeepVid一樣.COM
A)它有一個輸入框,用戶把鏈接和比按提交。 (?var = userfoo通過原型框架工作執行)(該請求發送到同一頁面action = index.php)
B)它顯示加載gif比它顯示結果默認情況下它隱藏並顯示請求。
C)現在父窗口html(主頁)不刷新或重新加載。
D)用戶再次把鏈接,並按提交它做一個相同的過程。
每件事情都很有用,但我在檢查日誌時發現問題。有些人使用腳本來抓取我的輸出。不是普通的訪問者,你可以說或者是leechers。
問題:
1)但是,如果有人放HTTP:在瀏覽器// URL VAR = foo的& VAR =欄就會生成div的輸出內容,這意味着無主網頁的訪問。任何人都可以通過查詢並直接得到結果。
2)我嘗試使用會話令牌但它失敗,因爲它在div中重新生成。也沒有刷新父級,所以會話令牌不匹配(這個只有與AJAX請求1的請求給出輸出沒關係,但第二個請求由於父令牌相同而失敗,並且提交按鈕使用相同的令牌)在純PHP它的工作原理是刷新頁面,但我不想刷新頁面。我只是想顯示加載gif。
3)任何人都可以使用curl php並抓取頁面。所以我想要一個Javascript驗證(HIDDEN)。如果失敗,則啓動驗證碼,如果Javascript被禁用,則啓動驗證碼安全。我不想讓它在詳細或通過命令行或通過其他腳本(用於抓取)上工作。
4)我不確切知道這些東西被稱爲什麼。我認爲他們是XHR。
我想從我的網站提供安全
1)URL變量注入象 ?變種= foo的& & VAR2 =酒吧 也讓轉換(如果有的身體確實是)轉移該頁面 ?重定向= foo和負載炫魅,並將該重定向值輸入框
2)基於服務器的驗證,但裏面的股利和必須顯示加載GIF和DONOT重新加載整個頁面..
東西,我看了,但失敗...
1)JCryption但它需要jQuery的比我要重新編碼的一切......
2)
// If the request did not come from AJAX, exit:
if($_SERVER['HTTP_X_REQUESTED_WITH'] !='XMLHttpRequest'){
exit;
}
此命令失敗,IE7瀏覽器。 (這是唯一的最佳方法,但不能在一個瀏覽器中失敗)還有一個問題是,如果某個創建者在本地主機上運行它,則將該動作更改爲http://myurl,而不會接受它。另外,如果我們使用curl來發送自定義標題,那麼它將會失敗。
3)使用JavaScript加密和PHP解密。有些JS將Enrypt和PHP功能解密。 (通過使用隱藏的表單元素輸入) 這也是一個很好的方法,但我很難編輯的源來傳遞變量我的意思是從div到服務器。
也使用其他幾種方法,但我認爲所有上述方法是最好的描述我的問題... 請明白,解決方案可能是非常小或大,但我不明白JavaScript非常親切地闡述。
或將其作爲參數添加到AJAX URL? – Altainta 2011-02-01 17:09:42