簡體   English   中英

防止惡意用戶執行JavaScript

[英]Prevent malicious user from executing JavaScript

在我的JSP中,我有一個類似fnGetTicketDetails的函數:

function fnGetTicketDetails(record){
    $("#TicketNumber").val(record);
    $("#TicketDetailsForm").submit();
    return false;
}

我有這樣的形式:

<form name="TicketDetailsForm" id="TicketDetailsForm" method="post" action='${properties["SUBMIT_TICKET_DETAIL"]}'
    target="_blank" style="display: none;">

我有一個輸入隱藏參數

<input type="hidden" name="record" id="TicketNumber" /> 

在服務器上工作正常。 問題是:如果我使用

javascript:eval("fnGetTicketDetails(83769551); eval();");

在瀏覽器中,然后我也正在獲取詳細信息,這是無效的。 如何阻止來自瀏覽器的此類請求。 因為如果黑客知道票證號,便可以輕松獲得詳細信息。

您不能阻止用戶這樣做。

必須將來自用戶的所有輸入( 包括 JavaScript發送的所有請求)視為不可信。

這意味着服務器 必須驗證來自用戶的請求是否合法(即,它必須檢查當前用戶是否有權讀取指定的詳細信息)。

依靠隱藏字段和JavaScript來確保數據安全是一種很容易使數據被盜的方法。

你不能 客戶端上存儲的所有數據將對最終用戶可見。

這里的問題是您的服務器願意將詳細信息顯示給任何要求它們的人。 甚至不要試圖阻止用戶詢問。 只需在服務器端進行檢查,以確保允許該用戶查看那些票證詳細信息。 如果不是,請不要運送它們!

暫無
暫無

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

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