如果我使用ID或类型(在jQuery中)等来验证任何文本框,例如:
var element=document.getElementById('tbxSearchField').value
if(element=="")
{alert("please enter text");}
HTML是:
<input class="input" id="tbxSearchField" name="tbxSearchField" placeholder="Search" type="text" value="">
如果有人使用inspect element选项更改浏览器中元素的ID,则验证无效。
如何为这种情况提供安全保障?有没有办法阻止客户端这个?
答案 0 :(得分:0)
有没有办法阻止客户端
不,没有。客户端验证仅为用户提供便利。验证逻辑可以随时通过浏览器开发工具中的简单编辑代码进行更改。
如何为这种情况提供安全保障?
您始终从服务器上的客户端重新验证数据。
答案 1 :(得分:0)
安全验证输入的最佳方法是使用服务器端验证,但使用 jQuery ,您可以避免使用id
或class
验证输入:
var elements=$( "input:text" );
for(element in elements){
if(element.val()=="")
{
alert("please enter text");
}
}
或者您可以使用Javascript querySelector() Method:
var elements=document.querySelector('input[type="text"]');
for(element in elements){
if(element.value=="")
{
alert("please enter text");
}
}
答案 2 :(得分:-1)
JavaScript验证是客户端验证。最终用户可以使用浏览器的JavaScript设置轻松解决此问题。
出于安全考虑,最好使用Ajax验证。
博客文章 Form Validation Using Ajax 将有助于更多地使用Ajax验证。