当用户点击浏览器后退按钮时,如何清除联系表单数据以防止垃圾邮件发送者多次提交表单并重复点击提交按钮?
<form action="youractionpage" method="post" autocomplete="off">
</form>
autocomplete
只会在提交后清空您的表单。 - yaqoob<script>
$(document).ready(function() {
$('input').val('');
});
</script>
在表格中使用验证码可以有效地防止垃圾邮件发送者批量提交表单,这是一个很好的做法。清除表单并不会太有帮助,因为垃圾邮件发送者使用表单填充扩展程序。
您可以在表单字段上使用autocomplete="off"
属性,但由于大多数浏览器现在使用本地缓存来增强性能,其中一些可能仍会记住这些字段。
忽略它的一种方法是将页面头部的Cache-Control
设置为不使用缓存。
然而,仍然存在通过刷新重新发送的问题。提交表单后,按F5将刷新新页面并重新提交发布数据。为了避免这种情况,您需要清除已发布的数据。我不确定最好的方法是什么,但我遇到了一种方法:当您在服务器端使用redirect
到另一个页面时,所有$_POST
数据都被清除。