Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MODUL: Smart Guestbook für modified eCommerce Shopsoftware

    Homer1212

    • Neu im Forum
    • Beiträge: 23
    Re: MODUL: Smart Guestbook für modified eCommerce Shopsoftware
    Antwort #75 am: 19. Dezember 2016, 15:39:55
    Vielen Dank für eure Meinungen. Habe mal an abuse@hetzner gemailt, mal schauen was kommt.

    Homer1212

    • Neu im Forum
    • Beiträge: 23
    Re: MODUL: Smart Guestbook für modified eCommerce Shopsoftware
    Antwort #76 am: 29. Dezember 2016, 12:33:15
    Hetzner hat das angeblich weitergeleitet an ihren Kunden.

    Der Tipp mit der .htaccess war super, kein Eintrag mehr von dem Vogel  :thumbs:

    supercat1510

    • Neu im Forum
    • Beiträge: 47
    • Geschlecht:
    Habs ohne weiteres im 1.06 zum laufen gebracht.

    Kleine Ergänzungen falls jemand braucht:

    1. Spammer posten gerne URL's. Wenn man das deaktiviert bekommt man gleich viel weniger Spams.

    - media/content/guestbook.php

    Suche nach:
    Code: PHP  [Auswählen]
          //-> check values
          if (strlen($gb_text)< GUESTBOOK_TEXT_MIN_LENGTH) {
            $error = true;
            $error_text .= ERROR_GUESTBOOK_TEXT . '<br>';
          }
    Füge danach ein:
    Code: PHP  [Auswählen]
             if(strpos($gb_text, "http://") !== false || preg_match("/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/", $gb_text) || preg_match("/(www.)[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/", $gb_text) || preg_match("/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/", $gb_text)){
                    $error_text .= ERROR_GUESTBOOK_HTTP."<br>";
             }       

    - lang/german/german.php und lang/english/english.php

    ergänzen
    Code: PHP  [Auswählen]
    define('ERROR_GUESTBOOK_HTTP', 'Bitte keine URLs posten.');
    Code: PHP  [Auswählen]
    define('ERROR_GUESTBOOK_HTTP', 'URLs are not allowed.');

    Texte nach belieben änderbar.

    2. Beiträge erst deaktiviert lassen

    Hierzu in der MySQL in der Tabelle "guestbook" den Default Wert von "entry_status" auf 0 setzen.

    oder:

    - guestbook.sql
    Suche nach:
    Code: PHP  [Auswählen]
      entry_status int(1) default '1',

    ersetze durch:
    Code: PHP  [Auswählen]
      entry_status int(1) default '0',

    3. IP-Adresse mitspeichern (für z.b. htaccess block)
    In der MySQL Datenbank die Tabelle "guestbook" mit einem Feld "ip" erweitern, varchar(50)
    oder:
    - guestbook.sql
    Suche nach:
    Code: PHP  [Auswählen]
    CREATE TABLE guestbook (
      entry_id int(11) NOT NULL auto_increment,
      visitors_name varchar(64) NOT NULL default '',
      visitors_email varchar(96) default '',
      entry_rating int(1) default NULL,
      entry_status int(1) default '1',
      date_added datetime default NULL,
      last_modified datetime default NULL,
      entry_read int(5) NOT NULL default '0',
      PRIMARY KEY  (entry_id)
    ) TYPE=MyISAM;

    Ersetze durch:
    Code: PHP  [Auswählen]
    CREATE TABLE guestbook (
      entry_id int(11) NOT NULL auto_increment,
      visitors_name varchar(64) NOT NULL default '',
      visitors_email varchar(96) default '',
      entry_rating int(1) default NULL,
      entry_status int(1) default '1',
      date_added datetime default NULL,
      last_modified datetime default NULL,
      entry_read int(5) NOT NULL default '0',
      ip int(5) varchar(50) default '',
      PRIMARY KEY  (entry_id)
    ) TYPE=MyISAM;

    - media/content/guestbook.php

    Suche nach:
    Code: PHP  [Auswählen]
          if (!isset($_SESSION['customer_id'])) {
            $gb_name = xtc_db_prepare_input($_POST['gb_name']);
            if (strlen($gb_name) < GUESTBOOK_NAME_MIN_LENGTH){
              $error = true;
              $error_text .= ERROR_GUESTBOOK_NAME . '<br>';
            }//-> if (strlen($gb_name) < GUESTBOOK_NAME_MIN_LENGTH){
            $gb_email = xtc_db_prepare_input($_POST['gb_email']);
            if (empty($gb_email) || (!xtc_validate_email($gb_email))) {
              $error = true;
              $error_text .= ERROR_GUESTBOOK_MAIL . '<br>';
            }//->if (empty($gb_email))
          }else{ //-> if (!isset($_SESSION['customer_id'])
            $gb_name = $_SESSION['customer_first_name'] . ' ' . $_SESSION['customer_last_name'];
            $gb_email = get_customer_mail((int)($_SESSION['customer_id']));        
          }//->else if (!isset($_SESSION['customer_id'])

    Danach einfügen:
    Code: PHP  [Auswählen]
    $userip = xtc_db_prepare_input($_SERVER['REMOTE_ADDR']);

    Suche nach:
    Code: PHP  [Auswählen]
    xtc_db_query("insert into " . TABLE_GUESTBOOK . " (visitors_name, visitors_email, date_added) values ('" . xtc_db_input($gb_name) . "', '" . xtc_db_input($gb_email) . "', now())");

    Ersetze mit:
    Code: PHP  [Auswählen]
    xtc_db_query("insert into " . TABLE_GUESTBOOK . " (visitors_name, visitors_email, date_added, ip) values ('" . xtc_db_input($gb_name) . "', '" . xtc_db_input($gb_email) . "', now(), '".$userip."')");
    12 Antworten
    4281 Aufrufe
    29. Dezember 2016, 16:50:22 von awids
    7 Antworten
    5672 Aufrufe
    03. März 2014, 09:33:57 von Brandmalerei24
    384 Antworten
    164701 Aufrufe
    17. Dezember 2022, 16:11:48 von peter111