我有一個使用框架的網站。是否仍有可能從瀏覽器中爲某人使用地址欄製作其中一個框架的發佈數據?其中2個框架是靜態的,另一個框架具有使用post進行通信的php頁面。它似乎不可能,但我想確定。是否有可能在使用框架時篡改發佈數據
回答
不,這是不可能的POST數據從地址欄。您只能通過向URL添加參數來啓動GET請求。 POST Body不能以這種方式附加。
無論如何,它很可能發送POST請求到您的Web服務器的框架中的頁面。 HTTP is just the protocol與您的瀏覽器和網絡服務器相互交談。 HTTP對幀或HTML一無所知。該框架中的頁面具有URI,就像任何其他頁面一樣。當你點擊一個鏈接時,你的瀏覽器詢問服務器是否對該URI有。服務器將檢查它是否具有該URI的某些內容並作出相應響應。它不知道它會返回什麼。
使用諸如TamperData for Firefox或Fiddler for IE之類的工具,任何人都可以修改HTTP請求輕鬆發送到您的服務器。
也許不是來自瀏覽器,但他們仍然可以捕獲請求(修補它)並將其轉發到提供的目的地,並使用burp代理等工具。
POST數據無法添加到地址欄中。
您應該經常檢查&清理您在PHP代碼中獲得的所有數據,因爲任何人都可以將數據發佈到您的所有頁面。
不信任頁面外部的數據。清理它&檢查它。
要回答你的問題:不,不可以使用地址欄發送發佈數據。
但是有可能發送發佈數據到快照中的任何網址。例如使用cURL或Firefox擴展。因此,無論是POST還是GET還是UPDATE或其他,無論如何都要確認並清理您收到的所有數據。
這不是iFrame或php的具體內容,所以應該在每個web應用程序中考慮它。永遠不要依賴任何人發送的數據是正確的,有效的或安全的 - 尤其是當用戶發送時。
無論來源和/或環境如何,$_REQUEST
陣列中的任何數據均應視爲平等武裝且危險。這包括$_GET
,$_POST
和$_COOKIE
。
是的,他們絕對可以使用像Firebug這樣的工具,顯然還有像Gordon列出的更專業的工具。此外,即使他們無法在您的網站的瀏覽器中執行此操作,他們也可以始終創建自己的表單,或者通過腳本或命令行工具提交發布數據。
絕對不能依賴客戶端來保證安全。
,正如我在下面的答案中所評論的那樣。用戶在使用IE的Intranet上沒有任何你所指的工具。因此將問題限制在僅用於地址欄 – 2010-01-06 19:38:40
構建一個簡單的HTML表單,無論用戶想要提交給您的網站,這完全是微不足道的。他們需要的只是一個文本編輯器。 – notJim 2010-01-06 20:27:44
如果他們無法將其上傳到服務器,他們將如何獲得apache的服務? – 2010-01-07 04:47:44
- 1. 是否有.Net發佈/訂閱框架
- 2. 使用jQuery發佈Zend框架數據
- 3. 是否有可能在gatsby.js框架中使用d3.js?
- 4. 是否有可能在PHP yii框架中使用hibernate?
- 5. 是否有可能在IBM Websphere Portal中使用PLAY框架
- 6. 限制URL在Spring框架篡改3.1
- 7. 是否有可能使用C#在Microsoft Bot框架中開發本地化?
- 8. 是否有可能在zend框架中使用mysql函數(不是內置的)?
- 9. 是否有可能重定向發佈數據?
- 10. 是否有可能在打開websocket連接時發送數據
- 11. 是否有可能使用frege與Play框架
- 12. 是否有可能使用Alfresco作爲JCR框架?
- 13. 是否有可能與Qooxdoo框架一起使用Django?
- 14. 是否有可能使用實體框架4.1(EF4.1)
- 15. 參數在被加密和發送之前可能被篡改
- 16. 是否有可能使用tsung動態發佈文件?
- 17. 是否有可能在實體框架中使用現有類作爲POCO
- 18. 是否有可能返回所有列的實體的數據實體框架
- 19. 如何使用鏈接API在Tastypie框架中發佈數據
- 20. 是否有可能看到評論是否被「發佈到Facebook」?
- 21. 是否有用於使用發佈/訂閱模式和WCF的框架/服務?
- 22. 是否有人使用實體框架與Oracle數據庫?
- 23. 是否有可能使用jQuery數據表添加數據集
- 24. 是否有.NET的數據庫不可知的nosql框架?
- 25. Django的REST框架:發佈數據
- 26. NodeJS獲取發佈數據 - 無框架
- 27. 是否有可能在xcode中加入ios框架代碼?
- 28. 是否有可能在框架內定義NSLocationWhenInUseUsageDescription?
- 29. 是否有可能不在數據框中顯示NAs?
- 30. 是否有可能在.NET中使用DataContractSerializer'有時'使用EmitDefaultValue?
我最喜歡你的答案,但它不完全回答它。這些頁面是用於內聯網的,所以我並不擔心地址欄之外有工具的用戶。我想避免的一種情況是,他們可以在地址欄中做一些事情,比如view_form?id = 5,然後調出那個頁面,而不需要進入view_form.php頁面的表單 – 2010-01-06 19:28:15
這聽起來像你不相信你需要驗證你的輸入。只要意識到在某些時候,有人會想出一個想法來處理你的表單,而且你會看起來很糟糕。 – notJim 2010-01-06 19:31:15
沒有輸入在php應用程序中驗證。我不想要的是喬吹用戶輸入獲取數據到網址的地址欄,並試圖偷偷摸摸他們不應該的東西。使用框架,您無法從地址欄中看到框架中的頁面。 – 2010-01-06 19:40:24