我在页面上有一个文本框,当用户点击“提交”时,我抓住文本字段并使用jQuery发布,如下所示:
$("#text_submit").submit(function(event)){
user_text = $("input#user_text").val();
$.post("/create/", { text : user_text }, function(data){
//display response from server on the page;
});
event.preventDefault();
});
然后在服务器端我将验证文本(它应该是一个URL)并返回一个响应。
将用户放入文本框中的内容发布到服务器是否安全?我是否需要对用户的文本进行任何客户端验证?
答案 0 :(得分:2)
我不同意上述帖子,即服务器端是双重检查或次要措施。服务器端验证是唯一的措施。可以绕过客户端验证。可以禁用Javascript。
我认为客户端验证对用户更有帮助。它可以防止对简单的格式错误的数据错误进行POST,并在出错时向用户提供即时反馈。
为了安全起见,服务器端验证是您可以信赖的。
答案 1 :(得分:1)
这取决于内容以及您希望如何验证它。我总是首先在客户端上验证,并在服务器上验证,如果javascript被关闭则作为辅助措施。
答案 2 :(得分:0)
作为一般的经验法则(至少在安全方面)你应该不信任任何用户,所以我认为验证数据客户端(它也更快)是明智的选择,然后,如果第一次验证通过,验证服务器端,“仔细检查”(或者如果用户关闭了Javascript,则设置安全网,这是您经常看不到的。)