在我的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();");
在浏览器中然后我也得到了细节,这是无效的。如何从浏览器中阻止这些类型的请求。因为黑客可以轻松获取详细信息,如果他知道票号。
答案 0 :(得分:7)
您无法阻止用户执行此操作。
您必须将来自用户的所有输入视为 您的JavaScript 发送的所有请求为不受信任。
这意味着服务器 必须验证来自用户的请求是否合法(即必须检查当前用户是否有权读取指定的详细信息)。
依靠隐藏字段和JavaScript来保护您的数据安全是一种非常简单的方法来获取数据。
答案 1 :(得分:3)
你做不到。存储在客户端上的任何数据都将对最终用户可见。
这里的问题是您的服务器愿意向要求他们的任何人显示详细信息。甚至不要试图阻止用户询问。只需检查服务器端,确保允许该用户查看这些故障单详细信息。如果他们不是,请不要交付他们!