Sblam!

Zabezpiecza formularze przed spamem

Instalacja filtra antyspamowgo na PHP Fusion

Instrukcje dotyczą PHP Fusion 6.01.

Dostępne są instrukcje dla phpBB i innych.

Forum

  1. Umieść pliki sblam.js.php, sblamtest.php w katalogu głównym PHP Fusion (tym, w którym znajdują się news.php, articles.php, downloads.php).

  2. Wygeneruj swoj klucz API i zanotuj go sobie.

  3. Otwórz plik postreply.php z katalogu forum i znajdź w nim fragment:

    if (isset($_POST['postreply'])) {

    i przed nim wklej fragment:

    $spam=NULL;
    if (isset($_POST['postreply'])) {
      require_once BASEDIR."sblamtest.php";
      if (sblamtestpost(NULL,"tu wklej swój klucz API") > 0) {
        unset($_POST['postreply']);
        $spam = sblamreporturl();
      }
    }

    Jeśli twój klucz API to ABC123abc123, to w kodzie powinno być sblamtestpost(NULL,"ABC123abc123")

  4. Następnie za linią:

    opentable($locale['403'].": $caption");

    wklej:

    if ($spam) echo "<h1>Filtr antyspamowy zablokował wiadomość. <a href='$spam'>Zgłoś błąd filtru!</a></h1>";
  5. oraz za linią:

    </form>\n";

    wklej:

    echo "<script src='../sblam.js.php'></script>";
  6. Otwórz plik postnewthread.php z katalogu forum i znajdź w nim fragment:

    if (isset($_POST['postnewthread'])) {

    i przed nim wklej fragment:

    $spam=NULL;
    if (isset($_POST['postnewthread'])) {
      require_once BASEDIR."sblamtest.php";
      if (sblamtestpost(NULL,"tu wklej swój klucz API") > 0) {
        unset($_POST['postnewthread']);
        $spam = sblamreporturl();
      }
    }
  7. Następnie za linią:

    opentable($locale['401']);

    wklej:

    if ($spam) echo "<h1>Filtr antyspamowy zablokował wiadomość. <a href='$spam'>Zgłoś błąd filtru!</a></h1>";
  8. oraz za linią:

    </form>\n";

    wklej:

    echo "<script src='../sblam.js.php'></script>";

Komentarze

Jeśli używasz komentarzy, to musisz zmodyfikować jeeeszcze więcej plików.

  1. Wykonaj punkty 1. i 2. z instalacji dla Forum, jeśli jeszcze tego nie zrobiłeś/aś.

  2. W pliku includes/comments_include.php znajdź linię:

    if (!$flood) {

    i przed nią dodaj:

    require_once BASEDIR."sblamtest.php";
    if (sblamtestpost(NULL,"tu wklej swój klucz API") > 0) {
        redirect("$clink&status=spam&sblamreporturl=".sblamreporturl());
    }
    
  3. Znajdź linię z:

    if ($status == "dodano") {

    i przed nią dodaj:

    if ($status == "spam") {
      echo "<h1>Filtr antyspamowy zablokował wiadomość. <a href='".
         htmlspecialchars($_GET['sblamreporturl'])."'>Zgłoś błąd filtru!</a></h1>";
    }
    
  4. Znajdź linię z:

    </form>\n";

    i za nią wklej:

    echo "<script src='../sblam.js.php'></script>";