簡體   English   中英

通過Symfony2中的AJAX安全地將參數傳遞給Controller

[英]Safely pass parameter to Controller via AJAX in Symfony2

我對如何最好/安全地將ajax請求中的參數傳遞給我的控制器有疑問。

我在使用Symfony的項目中擁有以下兩個選項

(1)我可以通過以下方式傳遞參數,例如我的實體ID和CSRF令牌:

Routing.generate("my_update_route", {'id': entity.id, 'token' : token});

->這種方法的好處是,我可以在@Route批注中檢查符合要求的正確參數類型:

@Route("/account/entity/update/{id}/{token}", name="my_update_route", 
        requirements={"id" = "\d+", "token" = "[a-z]+"})

->但是是否建議通過這種方式(Url)傳遞ID和安全性(csrf)令牌?

或者(2)通過post正文傳遞變量,而不是通過url傳遞變量,我將失去自動使用“ requirements”檢查正確類型的可能性-但是-值更安全地傳遞給服務器(當然,使用https時) )。


在使用AJAX請求時,通常如何傳遞參數? 最安全的方法是什么?

您可以毫無問題地通過URL傳遞ID和令牌。

如您所說,注解@Route允許您檢查參數模式(id =>整數和token =>字符串)。

如本參考資料中所述,令牌值不一定必須是秘密的。

希望對您有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM