2012-12-20 36 views
0

我有一個JavaScript,其中我使用$ .post()命令將變量發佈到一個php文件,我有php文件的URL在相同的.js文件中硬編碼。

我只想知道是否有人可以從地址欄注入$ .post()命令並將無效數據發送到PHP文件?

如果是,如何防止或如何檢測這些無效數據?

+1

從地址欄中注入'.post()'並不清楚你的意思。但是,有人可以隨時篡改HTTP。您的代碼應該以防篡改安全的方式編寫。 – Candide

回答

5

是的,任何知道如何使用JavaScript編碼的人都可以向您的PHP文件發送AJAX POST請求。

至於如何檢測無效數據,那完全取決於什麼使得數據無效。您只需根據希望有效數據滿足的任何條件檢查POST值,然後忽略任何不符合這些條件的請求。

1

是的,它非常簡單。攻擊者可以修改,添加或刪除瀏覽器中運行的任何JavaScript,修改DOM等。Firebug等工具允許任何人從控制檯調用任意JavaScript。此外,可以簡單地使用curl來運行您的服務器併發送任意數據。

如果是,如何防止或如何檢測這些無效數據?

您必須確保服務器端的數據有效性和完整性。此外,您可能希望在服務器端添加一些安全性,並且不依賴某些JavaScript功能被「隱藏」。

1

當然,用你想一個網站javascript:方案,你可以做很多事情前面加上腳本:

javascript:$.post(/* stuff here */) 

你應該總是驗證在服務器端的輸入數據,因爲這不僅可能有人使用您的網站上的JavaScript來做到這一點,但他們可能會使用其他工具,如curl或其他任何可以讓您發起http請求的工具。

相關問題