在网站联系页面上停止不需要的邮件(不是垃圾邮件)

时间:2017-11-06 05:54:17

标签: php

是否有任何方法可以阻止从我们网站的联系页面发送给我们的不必要的(粗俗,令人反感和与我们无关的广告)消息。我们有一个联系页面,访问我们网站的用户可以向我们发送他们的真实查询。但是从过去两周开始,我们收到了不必要的类型查询。请注意,它们不是垃圾邮件,因为它们不是批量邮件,我们在网站上启用了CAPTCHA。但是我们每天都会收到20到30条这样的消息,有时候它们非常粗俗和冒犯。在验证码之前,这些查询是大量的,但验证码现在已经减少到20-30。但与我们每天收到的总查询相比,它们仍然很多。

有没有办法阻止这些邮件通过代码发布给我们?该网站是PHP。除了代码之外的任何其他方法也都会很好。

我在这里问过这个问题,因为我从编码角度要求阻止此类消息。感谢。

2 个答案:

答案 0 :(得分:0)

    <?php 
    function detectBadWords($bad_words, $text) {
        foreach ($bad_words as $key => $word) {
            if (strpos($text, $word) != false) {
                return true;
            }
        }
    }

    $text = 'bla bla bla';
    $bad_words = ['shit', 'fuck'];
    $check = detectBadWords($bad_words, $text);
    if ($check) {
        // prevent insert data
    }

 ?>

答案 1 :(得分:0)

您可以添加粗俗或令人反感的文字进行搜索,并在撰写该单词时给出错误。

function isAbusive(str) {
      var badWords = ['bad', 'worst','fuck','suck'];
      var isTrue = false;
      if(str) {
         for (var i = 0; i < badWords.length; i++) {
           isTrue = !!(str.replace(/\W|\s/g, '').toLowerCase().indexOf(badWords[i]) + 1);
           if(isTrue) break;
         }
      }
      return isTrue;
    }


var comments = document.getElementsByClassName("prevent_abuse");

for (var i = comments.length - 1; i >= 0; i--) {
  console.log(i, comments[i].innerHTML)
  if (isAbusive(comments[i].innerHTML)) {//you can check this comment
    alert("there is bad word");
    comments[i].parentNode.removeChild(comments[i]);
  }

}

这是用户评论或消息的html代码。

<p class="prevent_abuse">I want to do "b/a/d" activity</p>
<p class="prevent_abuse">I want to do "worst" activity</p>
<p class="prevent_abuse">I want to do "good" activity</p>
<p class="prevent_abuse">bad activity</p>
<p class="prevent_abuse">W/O/R/s/T activity</p>