Zabezpiecza formularze przed spamem
Instrukcje dotyczą PHP Fusion 6.01.
Dostępne są instrukcje dla phpBB i innych.
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).
Wygeneruj swoj klucz API i zanotuj go sobie.
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")
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>";
oraz za linią:
</form>\n";
wklej:
echo "<script src='../sblam.js.php'></script>";
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();
}
}
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>";
oraz za linią:
</form>\n";
wklej:
echo "<script src='../sblam.js.php'></script>";
Jeśli używasz komentarzy, to musisz zmodyfikować jeeeszcze więcej plików.
Wykonaj punkty 1. i 2. z instalacji dla Forum, jeśli jeszcze tego nie zrobiłeś/aś.
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());
}
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>";
}
Znajdź linię z:
</form>\n";
i za nią wklej:
echo "<script src='../sblam.js.php'></script>";