Php 仅使用javascript进行表单身份验证+;机器人

Php 仅使用javascript进行表单身份验证+;机器人,php,javascript,forms,authentication,Php,Javascript,Forms,Authentication,我正在使用一个只使用Javascript进行字段身份验证的表单。我需要介绍垃圾邮件过滤器。我的问题是 我是否应该引入服务器端脚本来解决垃圾邮件问题(更多工作) 如果禁用JavaScript,是否禁止用户提交表单 为禁用Javascript的人制作一个单独的表单(例如机器人) 这个问题是由垃圾邮件引起的。作为一个附带问题机器人如何工作?他们只是禁用JavaScript吗。这是一个蹩脚的问题 表单的编码方式是非常非正统的,这意味着PHP脚本的代码更改将是相当大的,相当于设计一个新页面 提前感谢。大多

我正在使用一个只使用Javascript进行字段身份验证的表单。我需要介绍垃圾邮件过滤器。我的问题是

  • 我是否应该引入服务器端脚本来解决垃圾邮件问题(更多工作)
  • 如果禁用JavaScript,是否禁止用户提交表单
  • 为禁用Javascript的人制作一个单独的表单(例如机器人)
  • 这个问题是由垃圾邮件引起的。作为一个附带问题机器人如何工作?他们只是禁用JavaScript吗。这是一个蹩脚的问题

    表单的编码方式是非常非正统的,这意味着PHP脚本的代码更改将是相当大的,相当于设计一个新页面


    提前感谢。

    大多数机器人程序的工作方式是根据其
    名称
    属性猜测要插入表单字段的值;例如,电子邮件格式的值将插入
    ,伟哥广告将插入

    虽然阻止禁用JavaScript的用户将阻止一些(大多数?)垃圾邮件通过,但您也有可能阻止您的真实用户使用您的网站;你想冒险吗

    最常见的防止垃圾邮件的方法是要求用户完成验证码;给他们一个难以理解的图像,让他们写下单词。reCaptcha被许多网站使用,但我将仅在表单中包含reCaptcha作为最后手段


    我最喜欢的防止垃圾邮件的方法之一是在表单中插入假的、隐藏的输入字段(
    type=“hidden
    ),并为其命名,例如
    电子邮件
    网站
    等。普通用户不会为这些字段输入任何值,因为它们是隐藏的,但垃圾邮件机器人可能会。您可以使用验证码,但这不会改善用户体验

    我喜欢使用的一个技巧是添加一个字段名,比如email,然后使用css隐藏它,并检查服务器端的值是否仍然为空

    我是否应该引入服务器端脚本来解决垃圾邮件问题(更多工作)

    如果禁用JavaScript,是否禁止用户提交表单

    你不能。(你可以放置一些块,这会给他们提交数据带来不便,但你无法控制人们向你的服务器发送的数据。)

    为禁用Javascript的人制作一个单独的表单(例如机器人)

    没有

    机器人是如何工作的

    它们发出HTTP请求并处理响应

    他们只是禁用JavaScript吗

    它们通常运行在最初不支持JavaScript的引擎上

    表单的编码方式是非常非正统的,这意味着PHP脚本的代码更改将是相当大的,相当于设计一个新页面


    听起来像是在维护地狱中,为了将来可能需要的任何更改或调试,它需要重构。

    谢谢你的回答。我的问题与设计更相关,哪种方法最好。该网站主要由公司员工使用。对,这相当于重写整个页面,但只是注册orm和一次性重写它。