我有一個頁面,它有webmethods我可以通過ScriptManager從aspx頁面使用它,我想知道如果任何人都可以從頁面外部訪問這些方法,如果它是如何保護WebMethods?有人可以從頁面外部訪問我的WebMethods嗎?
0
A
回答
3
完全無法保證Web方法的安全。畢竟,如果您從您的網頁訪問它們,則可以直接從客戶端瀏覽器訪問它們。
您可以添加一個額外的參數,需要包含某種一次性密碼/令牌,並在頁面呈現時生成一個。這會讓別人更難以繼續使用您的網絡服務,而無需實際訪問您的網站。
1
是的,添加WebMethod屬性可以遠程調用該方法,這意味着您可以使用JavaScript調用它。簡單地說,你不應該暴露WebMethods,你不希望第三方能夠打電話。但有關安全和Web服務的更多信息,請參閱:http://msdn.microsoft.com/en-us/magazine/cc188947.aspx
4
您的Web方法將具有與您的網頁相同的安全性。如果您需要確保安全地訪問它們,請在允許執行操作之前檢查有效會話,已通過身份驗證的用戶等。對Web方法的請求應包括確定提出請求的用戶是否已通過身份驗證所需的各種Cookie。根據經過身份驗證的用戶的身份,他們的角色等,您可以確定是否應該處理該請求。如果您使用Web配置來保護您的頁面,則應用於頁面的安全性也應該應用於頁面上的Web方法。
請注意,您不能保證有人不會簡單地發出獨立於瀏覽器的請求(即請求始終來自應用程序的UI內)。您需要進行與您的任何頁面相同的安全檢查。
請注意,我正在討論將安全web方法添加到ASPX頁面。對於網絡服務,認證和授權可能完全不同。例如,每個請求都可能需要憑證,並且可能是方法本身的「信封」或參數的一部分。保護Web服務可能是其自身問題的一個主題。
1
是的。
但您可以secure them easily。
相關問題
- 1. 有人可以從網絡外部訪問我的路由器嗎?
- 2. 私人運營商可以從外部訪問嗎?
- 3. 外部網頁可以訪問我的phonegap javascript嗎?
- 4. 我可以通過AJAX從外部頁面加載數據嗎?
- 5. OpenCart - 我可以從外部訪問數據嗎?
- 6. 我可以從__asm塊外部訪問__asm變量嗎?
- 7. 我可以從靜態內部類訪問外部類的字段嗎?
- 8. 有人可以幫我做分頁嗎?
- 9. 我可以從外部訪問函數內部字典在Python
- 10. tomcat:訪問局外人html頁面
- 11. 我們可以從母版頁訪問內容頁面控件嗎?
- 12. 我可以從資源外部訪問清單內的資源屬性嗎?
- 13. 我可以告訴網站爬蟲訪問某個頁面嗎?
- 14. 我可以從Matlab訪問QuantLib庫嗎?
- 15. Hazelcast:我可以從Memcached訪問IMap嗎?
- 16. 我可以從Socket.io訪問cookie嗎?
- 17. 我可以從內部類訪問注入的ejb嗎?
- 18. Xampp頁面可以通過網絡從任何人都可以訪問安全
- 19. 我可以直接從HTML頁面中運行的JavaScript訪問Google Calendar API *嗎?
- 20. 我可以防止蜘蛛訪問帶有某些GET參數的頁面嗎?
- 21. 訪問頁面的頁面,工人
- 22. 在外部頁面上訪問元素
- 23. 可以從課外訪問java私有數據成員嗎?
- 24. 我可以在Asp.Net的另一頁訪問一個頁面的ViewState嗎?
- 25. 我可以從內部課程訪問「輔助這個」嗎?
- 26. 我可以從頁內JavaScript訪問Firefox插件元素嗎?
- 27. 我可以從網頁訪問BlackBerry Javascript API嗎?
- 28. 從外部Facebook網頁訪問Facebook頁面應用程序
- 29. 外部開發人員可以在運行時訪問閉包變量嗎?
- 30. 我可以使用相對URL訪問當前目錄下面的頁面嗎?
這不完全是真的。你可以放置會話變量[System.Web.Services.WebMethod(EnableSession = true)]你可以放置角色,防僞令牌等,你甚至可以每次生成動態url。我在同一頁面上使用Aspx頁面和aspx Web方法,頁面不是匿名頁面.http://www.dotnetbull.com/2012/06/security-in-aspnet-ajax-webservice.html – 2017-09-28 17:11:25