【发布时间】:2017-10-22 02:56:04
【问题描述】:
我正在使用 HTML5 创建一个简单的<form>。只是想确保我没有丢失和安全漏洞。我对攻击了解不多,但我认为消息字段必须有更多内容,因为几乎可以在其中输入任何内容。我可以仅限于文本,但认为这可能不是非常用户友好。
是否有人可以输入任何类型的 250 个字符?可以用它做任何有害的事情吗?
<form id="contact_form_id" method="POST" action="" name="contact_form">
<input class="contact_single_line" type="text" id="fname" name="fname" minlength="2" maxlength="25" required type="text" onkeypress="return isAlpha(event)"></input>
<input class="contact_single_line" type="text" id="lname" name="lname" minlength="2" maxlength="25" required type="text" onkeypress="return isAlpha(event)"></input>
<input class="contact_single_line" type="email" id="email" name="email" minlength="3" maxlength="45" required placeholder="Enter a valid email address" TextMode="email" required data-errormessage-type-mismatch="Invalid!"></input>
<textarea id="message" name="message" minlength="2" maxlength="250" required></textarea>
<input type="submit" name="submit" id="contact_submit_btn" value="SUBMIT"></input>
</form>
同样使用这个 isAlpha 函数作为备份。不确定我已经拥有的 HTML5 验证器是否有必要
function isAlpha (evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode (key);
var regex = /[A-Za-z_ ]|\./;
if ( !regex.test(key) ) {
theEvent.returnValue = false;
if(theEvent.preventDefault) theEvent.preventDefault();
}
}
【问题讨论】:
-
不要依赖客户端进行验证,一些讨厌的事情可以从客户端完成。还要保护服务器端。
-
通过 PHP 验证?这将是一个 php 脚本,所以我猜这就是你的意思
标签: javascript forms validation html5-validation