[英]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.