簡體   English   中英

隱藏@ Url.Action中的參數

[英]Hide parameters from @Url.Action

我有這個代碼

<a href="@Url.Action(" Edicao ", "EdicaoListaVerificacao ", new { idFormulario = m.Id })" title="Editar" class="glyphicon glyphicon-pencil" aria-hidden="true" />

“編輯”是我的操作,“功能編輯”是我的控制器。 我的動作需要一個參數,並通過它建立了一個“實例”。 物業的需求。 問題在於URL可以更改,並且用戶可以訪問他們不能訪問的內容。

您永遠都不會隱藏自己的網址-也應該如此。 您應該在Edicao操作方法內驗證用戶是否有權查看具有指定IDFormulario

在所有Web應用程序中,您必須假定用戶嘗試檢索的URL絕對可以是任何東西-並且某些用戶將嘗試編輯URL以獲取隱藏的內容。 ASP.NET具有應使用的內置身份驗證和授權機制。

如果您只是在尋找一種簡單的方法來制作無法猜測的URL,而又不強迫用戶登錄,則必須使用比數字ID更復雜的東西,例如GUID。

並且,如果在任何時候您都對自己的解決方案(如URL引薦來源網址檢查或驗證Cookie)感興趣,請記住,易於使用的解決方案很可能已經內置在ASP.NET中。

而已! 感謝大伙們。 我找到了一種在操作中實施檢查的方法。 使用Request.UrlReferrer

 public ActionResult Edicao(int idFormulario)
        {
            Uri url = Request.UrlReferrer;

            if (url != null)
            {

               DO ALL THINGS YOU HAVE TO

            }
            else
            {
                RETURN TO INDEX
            }

        }

如果來自我的請求,則Request.UrlReferrer會向我返回該URL。 如果不是,則返回null 比我只是建立一個if塊 ;)。 感謝大伙們!

暫無
暫無

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

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