da sich auf meiner Topliste mittlerweile immer mehr Spamer anmelden (ca. 100-200 pro Tag) und ich habe auch schon mehrere Maßnahmen dagegen unternommen, wie z.B. das Scrip von Bot-Trap.de.
Ja, ich weiß auch, dass es hier hauptsächlich um ilch geht.
Trotzdem bin ich mit meinem Latein am Ende, was das einbinden des "Google reCaptcha's" angeht und bitte hier um Hilfestellung.
Angemeldet und die Codes hatte ich bereits eingebunden, jedoch müsste dies noch irgendwie in die join.php eingebunden werden.
Hier wäre der Code, der in den <head> Bereich kommt:
<script src='https://www.google.com/recaptcha/api.js'></script>
Dieser soll in das Formular:
<div class="g-recaptcha" data-sitekey="6LdGSA8TAAAAAFdElhOfhkIX73ZV3NPQQ4izfZNp"></div>
Hier wäre meine join.php:
<?php //===========================================================================\\ // Aardvark Topsites PHP 5.2 \\ // Copyright (c) 2000-2009 Jeremy Scheff. All rights reserved. \\ //---------------------------------------------------------------------------\\ // http://www.aardvarktopsitesphp.com/ http://www.avatic.com/ \\ //---------------------------------------------------------------------------\\ // This program is free software; you can redistribute it and/or modify it \\ // under the terms of the GNU General Public License as published by the \\ // Free Software Foundation; either version 2 of the License, or (at your \\ // option) any later version. \\ // \\ // This program is distributed in the hope that it will be useful, but \\ // WITHOUT ANY WARRANTY; without even the implied warranty of \\ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General \\ // Public License for more details. \\ //===========================================================================\\ if (!defined('ATSPHP')) { die("This file cannot be accessed directly."); } class join extends join_edit { function join() { global $FORM, $LNG, $TMPL; $TMPL['header'] = $LNG['join_header']; $TMPL['error_username'] = ''; $TMPL['error_style_username'] = ''; $TMPL['error_password'] = ''; $TMPL['error_style_password'] = ''; $TMPL['error_url'] = ''; $TMPL['error_style_url'] = ''; $TMPL['error_email'] = ''; $TMPL['error_style_email'] = ''; $TMPL['error_title'] = ''; $TMPL['error_style_title'] = ''; $TMPL['error_banner_url'] = ''; $TMPL['error_style_banner_url'] = ''; $TMPL['error_top'] = ''; $TMPL['error_style_top'] = ''; $TMPL['error_captcha'] = ''; $TMPL['error_style_captcha'] = ''; $TMPL['error_question'] = ''; $TMPL['error_style_question'] = ''; if (!isset($FORM['submit'])) { $this->form(); } else { $this->process(); } } function form() { global $CONF, $FORM, $LNG, $TMPL; // Display the CAPTCHA? if ($CONF['captcha']) { $TMPL['rand'] = rand(1, 1000000); $TMPL['join_captcha'] = $this->do_skin('join_captcha'); } else { $TMPL['join_captcha'] = ''; } // Display the security question? if ($CONF['security_question'] != '' && $CONF['security_answer'] != '') { $TMPL['security_question'] = $CONF['security_question']; if (isset($FORM['security_answer'])) { $TMPL['security_answer'] = strip_tags($FORM['security_answer']); } else { $TMPL['security_answer'] = ''; } $TMPL['join_question'] = $this->do_skin('join_question'); } else { $TMPL['join_question'] = ''; } $TMPL['categories_menu'] = "<select name=\"category\">\n"; foreach ($CONF['categories'] as $cat => $skin) { if (isset($TMPL['category']) && $TMPL['category'] == $cat) { $TMPL['categories_menu'] .= "<option value=\"{$cat}\" selected=\"selected\">{$cat}</option>\n"; } else { $TMPL['categories_menu'] .= "<option value=\"{$cat}\">{$cat}</option>\n"; } } $TMPL['categories_menu'] .= "</select>"; if ($CONF['max_banner_width'] && $CONF['max_banner_height']) { $TMPL['join_banner_size'] = sprintf($LNG['join_banner_size'], $CONF['max_banner_width'], $CONF['max_banner_height']); } else { $TMPL['join_banner_size'] = ''; } if (!isset($TMPL['username'])) { $TMPL['username'] = ''; } if (!isset($TMPL['url'])) { $TMPL['url'] = 'http://'; } if (!isset($TMPL['title'])) { $TMPL['title'] = ''; } if (!isset($TMPL['description'])) { $TMPL['description'] = ''; } if (!isset($TMPL['banner_url'])) { $TMPL['banner_url'] = 'http://'; } if (!isset($TMPL['email'])) { $TMPL['email'] = ''; } if (isset($TMPL['url'])) { $TMPL['url'] = stripslashes($TMPL['url']); } if (isset($TMPL['title'])) { $TMPL['title'] = stripslashes($TMPL['title']); } if (isset($TMPL['description'])) { $TMPL['description'] = stripslashes($TMPL['description']); } if (isset($TMPL['category'])) { $TMPL['category'] = stripslashes($TMPL['category']); } if (isset($TMPL['banner_url'])) { $TMPL['banner_url'] = stripslashes($TMPL['banner_url']); } if (isset($TMPL['email'])) { $TMPL['email'] = stripslashes($TMPL['email']); } $TMPL['content'] = $this->do_skin('join_form'); } function process() { global $CONF, $DB, $FORM, $LNG, $TMPL; $TMPL['username'] = $DB->escape($FORM['u'], 1); $TMPL['url'] = $DB->escape($FORM['url'], 1); $TMPL['title'] = $DB->escape($FORM['title'], 1); $FORM['description'] = str_replace(array("\r\n", "\n", "\r"), ' ', $FORM['description']); $TMPL['description'] = $DB->escape($FORM['description'], 1); $TMPL['category'] = $DB->escape($FORM['category'], 1); $TMPL['banner_url'] = $DB->escape($FORM['banner_url'], 1); $TMPL['email'] = $DB->escape($FORM['email'], 1); $TMPL['title'] = $this->bad_words($TMPL['title']); $TMPL['description'] = $this->bad_words($TMPL['description']); if ($this->check_ban('join')) { if ($this->check_input('join')) { $password = md5($FORM['password']); require_once("{$CONF['path']}/sources/in.php"); $short_url = in::short_url($TMPL['url']); $join_date = date('Y-m-d', time() + (3600*$CONF['time_offset'])); $user_ip = $DB->escape($_SERVER['REMOTE_ADDR'], 1); $DB->query("INSERT INTO {$CONF['sql_prefix']}_sites (username, password, url, short_url, title, description, category, banner_url, email, join_date, active, openid, user_ip) VALUES ('{$TMPL['username']}', '{$password}', '{$TMPL['url']}', '{$short_url}', '{$TMPL['title']}', '{$TMPL['description']}', '{$TMPL['category']}', '{$TMPL['banner_url']}', '{$TMPL['email']}', '{$join_date}', {$CONF['active_default']}, 0, '{$user_ip}')", __FILE__, __LINE__); $DB->query("INSERT INTO {$CONF['sql_prefix']}_stats (username) VALUES ('{$TMPL['username']}')", __FILE__, __LINE__); if ($CONF['google_friendly_links']) { $TMPL['verbose_link'] = ""; } else { $TMPL['verbose_link'] = "index.php?a=in&u={$TMPL['username']}"; } $TMPL['link_code'] = $this->do_skin('link_code'); $LNG['join_welcome'] = sprintf($LNG['join_welcome'], $TMPL['list_name']); if ($CONF['email_admin_on_join']) { $join_email_admin = new skin('join_email_admin'); $join_email_admin->send_email($CONF['your_email']); } if ($CONF['active_default']) { $join_email = new skin('join_email'); $join_email->send_email($TMPL['email']); $TMPL['content'] = $this->do_skin('join_finish'); } else { $TMPL['content'] = $this->do_skin('join_finish_approve'); } } else { $this->form(); } } else { $this->form(); } } } ?>
Und hier meine join_form.html:
<script type="text/javascript"> function auf(x) { if(document.getElementById(x).style.display == "block") { document.getElementById(x).style.display = "none"; } else { document.getElementById(x).style.display = "block"; }} </script> <i class="fa fa-unsorted fa-3x" style="color:#F00;"></i> <a class="blink" href="#" onclick="auf('unter1');return false;" title="open / close"><span style="color:#F00; font-weight:bold;">REGELN und INFOS BITTE LESEN !!!</span></a> <div style="display:none;" id="unter1"> <div class="visiblebox"> <div class="toggle_ce"> <div class="visiblebox"><br> <div align="left"><table width="100%" style="font-size:11px" cellspacing="0" cellpadding="0" border="0"> <tr> <td height="8" colspan="3"></td> </tr> <tr> <td width="9"></td> <td align="left" valign="middle"> <fieldset> <legend><img src="http://toplist.fsc-clan.org/skins/fusion/info.png" alt="Info" width="16" height="16" align="texttop" /> Was bieten wir Euch?<br /></legend> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><ul> <li>Die Anmeldung/Registrierung ist völlig Kostenlos.</li> <li>Besserer <strong>Google PageRank™</strong> für Eure Webseite.</li> <li>Eine Topliste mit langjährigem Bestand (seit 06.2013).</li> <li>Keine nervigen Werbefenster.</li> <li>Eine Topliste wo nur <strong>Clan's</strong>, <strong>Community's</strong> und <strong>Guilden</strong> gelistet sind.</li> <li>Ständige Kontrolle der Topliste, um Betrug zu vermeiden (zu 99%).</li> <li><span class="blink" style=" font-weight:bold; color:#F00;">NEU!</span> Die ersten 3 Platzierungen erhalten zum Monatsende einen Award. Die jeweiligen Gewinner werden per E-Mail informiert.</li> </ul> <div style=" padding-left:30px"><img src="http://toplist.fsc-clan.org/images/fsc_award_vorschau.png" alt="Award Vorschau" border="0" /></div></td> </tr> </table> </fieldset> <br> <fieldset> <legend><img src="http://toplist.fsc-clan.org/skins/fusion/info.png" alt="Rules" width="16" height="16" align="texttop" /> REGELN: (Bitte lesen!!!)<br></legend> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td>Es werden nur <strong>Clan's</strong>, <strong>Community's</strong> und <strong>Guilden</strong> akzeptiert und freigeschaltet. <ul> <li>Bitte nur vollständige Seiten und <strong>keine Baustellen</strong>!</li> <li> Seiten mit folgenden Inhalten werden nicht akzeptiert!!<br /> <ul class="Stil3"> <li><span style="font-weight:bold; color:#F00;"> Pornografische Seiten</span></li> <li><span style="font-weight:bold; color:#F00;"> Seiten mit illegalen Downloads </span></li> <li><span style="font-weight:bold; color:#F00;"> Rechtsradikale Seiten </span></li> <li><span style="font-weight:bold; color:#F00;"> sonstige Seiten, die gegen geltendes Recht verstoßen </span></li> <li><span style="font-weight:bold; color:#F00;"> andere Toplisten</span></li> <li><span style="font-weight:bold; color:#F00;"> Seiten mit Fake Aufrufe</span></li> <li><span style="font-weight:bold; color:#F00;"> Linkfarmen</span></li> <li><span style="font-weight:bold; color:#F00;"> Sales Pages</span></li> <li><span style="font-weight:bold; color:#F00;"> sonstige Spamseiten</span></li> </ul> </li> </ul> <ol> <li> Der <strong>VoteButton</strong> (Code muss genau übernommen werden) muss auf der <strong>Hauptseite Deiner Webseite</strong> eingebunden werden.</li><br> <li> Die Größe Deines Banners darf max. <strong>468x60px</strong> betragen und es wird nur .jpg, .png oder .gif akzeptiert!!!</li><br> <li> Webseiten die länger als <strong>30 Tage</strong> keine Seitenaufrufe verbuchen werden automatisch gelöscht.</li><br> <li> Der Banner-Code darf nur auf der <strong>angemeldeten Webseiten </strong>(nicht erlaubt MOTD des Servers, etc.) verwendet werden.</li><br> <li> <strong>Wer versucht das System zu seinen Gunsten zu manipulieren wird aus der Topliste ausgeschlossen!</strong><br>(Dazu zählen: Bots, Router Neustarts, Proxys, etc.)</li><br> <li> Die <strong>Fun Sniper Clan Toplist</strong> ist ein <strong>kostenloser Service</strong>.<br>Wir behalten uns das <strong>Recht</strong> vor, <strong>Mitglieder abzulehnen, auszuschließen und zu löschen</strong>!</li><br> <li> Jeder Webmaster (Mitglied) haftet selbst für obszöne Texte und Bildmaterialien und evtl. für dadurch entstandene Verletzungen der Rechte Dritter!<br>Zudem haftet der Webmaster (Mitglied) für das Urheberrecht seines eingebauten Banners oder Textes zur Clanbeschreibung.</li> </ol></td> </tr> </table> </fieldset> <br> <fieldset> <legend><img src="http://toplist.fsc-clan.org/skins/fusion/info.png" alt="Info" width="16" height="16" align="texttop" /> REGELN: Kommentare und Seitenbewertung<br /></legend> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><ul> <li>Keine rassistischen, pornographischen oder gewaltverherrlichenden Äußerungen.</li> <li>Keine Beleidigungen! Kein Spam!</li> <li>Nicht alles in Großbuchstaben schreiben (Caps lock).</li> <li>Kein endloses Wiederholen von Sätzen, URLs oder sinnloser Zeichenfolgen.</li> <li>Bitte schreibt nicht nur ein Wort.</li> <li>Racheaktionen und private Streitereien haben hier nichts zu suchen.</li> <li>Die "Kommentarfunktion" ersetzt NICHT das "<a href="http://toplist.fsc-clan.org/index.php?a=page&id=report" title="Verstoß melden"><span style=" font-weight:bold; color:#ff3c00;">Verstoß melden</span></a>" Formular!</li> <li><strong>Bewertet bitte fair!</strong></li></ul> <strong>Sollten Kommentare gegen die oben genannten Regeln verstoßen, werden diese kommentarlos gelöscht!</strong></td> </tr> </table> </fieldset> </td> <td width="9"></td> </tr> </table></div> </div> <div class="togglebox"> </div> <div class="toggler"><br> </div> </div> </div> </div> <p class="{$error_style_top}">{$error_top}</p> <form action="index.php?a=join" method="post" name="join_form"> <fieldset> <legend><i class="fa fa-user fa-5x"></i> {$lng->join_user}</legend> <div class="{$error_style_username}"><label>{$lng->g_username}<br /> <input type="text" name="u" size="20" value="{$username}" /> {$error_username} </label></div><br /> <div class="{$error_style_password}"> <label style="float: left; margin-right: 2em;">{$lng->g_password}<br /> <input type="password" name="password" size="20" /> </label> <label>{$lng->join_confirm_password}<br/ > <input type="password" name="confirm_password" size="20" /> {$error_password} </label></div> </fieldset> <br /> <fieldset> <legend><i class="fa fa-external-link fa-5x"></i> {$lng->join_website}</legend> <div class="{$error_style_url}"><label>{$lng->g_url}<br /> <input type="text" name="url" size="50" value="{$url}" /> {$error_url} </label></div><br /> <div class="{$error_style_title}"><label>{$lng->g_title}<br /> <input type="text" name="title" size="50" value="{$title}" /> {$error_title} </label></div><br /> <label>{$lng->g_description} (max. 130 Zeichen zulässig)<br /> <textarea cols="40" rows="5" name="description">{$description}</textarea><br /><br /> </label> <label>{$lng->g_category}<br /> {$categories_menu}<br /><br /> </label> <div class="{$error_style_banner_url}"><label>{$lng->g_banner_url} {$join_banner_size}<br /> <input type="text" name="banner_url" size="50" value="{$banner_url}" /> {$error_banner_url} </label></div><br /> <div class="{$error_style_email}"><label>{$lng->g_email}<br /> <input type="text" name="email" size="50" value="{$email}" /> {$error_email} </label></div> </fieldset> <br /> <fieldset> <legend><i class="fa fa-lock fa-5x"></i> {$lng->join_security}</legend> {$join_captcha} {$join_question} <input name="submit" type="submit" value="{$lng->join_header}" /><br /> <table width="100%" align="center" cellpadding="0" cellspacing="0" border="0"> <tr> <td align="left" width="100%" style="padding-top:5px;"><span style="font-size:11px;">Mit dem Eintragen bestätige ich, dass ich die <a href="http://toplist.fsc-clan.org/index.php?a=page&id=rules" title="Regeln ansehen" target="_blank"><span style="font-weight:bold; color:#ff0000;">Regeln</span></a> gelesen habe und damit einverstanden bin.</span></td> </tr> <tr> <td align="left" width="100%" style="padding-top:8px; font-size:11px;">Fragen, Probleme?</td> </tr> <tr> <td align="left" width="100%"><span style="font-size:11px;">» <a href="http://www.fsc-clan.org/index.php?contact" target="_blank"><b>zum Support</b></a></span></td> </tr> </table> </fieldset> </form>
Falls ihr noch etwas braucht, sagt einfach bescheid.
LG, Galle
betroffene Homepage: toplist.fsc-clan.org/index.php?a=join