代码之家  ›  专栏  ›  技术社区  ›  Evernoob

PHP检测字符串中有多少URL

  •  1
  • Evernoob  · 技术社区  · 16 年前

    我正在为一个网站实现一个联系人表单,我想避免使用验证码,因为我相信它会对用户体验产生负面影响。

    相反,我决定尝试检测随消息提交的URL的数量。

    我正在以字符串形式从$_post提交中检索邮件。我知道内置的php函数(如stristr())可以确认消息中存在子字符串,但我想要的是计数。

    此外,在垃圾邮件检测方面,匹配类似“</a>”的内容是否合适?

    干杯。

    2 回复  |  直到 16 年前
        1
  •  4
  •   Stephen Lacy    16 年前

    SUBSTR U COUNT($TEXT,“HTTP”)。 http://www.php.net/manual/en/function.substr-count.php

    请注意,这还不够,但也不允许用户将未筛选的数据输入到呈现为HTML的表单字段中。

    由于跨站点脚本,我也不能将javascript放在其中。 http://www.owasp.org/index.php/Top_10_2007-Cross_Site_Scripting

    我建议使用 http://htmlpurifier.org/ 删除任何恶意代码。

    最后,对于垃圾邮件过滤,我建议 http://akismet.com/

    祝你好运。

        2
  •  0
  •   w35l3y    16 年前

    如果这是一个联系人表单,就不需要接受HTML。只需对整个内容进行编码,并限制来自同一IP的帖子数量或限制消息之间的时间。

    是的,你可以限制URL的数量,但我认为这是无效的

    推荐文章