XOOPS-magazine
Hauptmenu
Sidebar Navigation
Kategorien
Monatsarchive
RSS Feed
suck my

Breadcrumbs: Startseite

Social-Bookmarks
 
Sie durchsuchen Security

Wordpress under XOOPS with Captcha

english.gif german.gif

Das Wordpress für XOOPS (auch bekannt als XPress) in der Version 2.0.5 wird immer mehr populär. Wenn man das CMS mit einem Blog Modul kombiniert, hat man ein sehr schönes Portal. Doch bei dem Modul Wordpress gibt es ein großes Problem, das sind die SPAM Kommentare. Ich möchte Euch eine Lösung zeigen, wie man SPAM im Wordpress verhindern kann.

Wir benutzen einfach ein zusätzliches Plugin für Wordpress, welches auch unter mit dem XPress Modul funktioniert. Es gibt somit keine Probleme unter XOOPS. Das Captcha Plugin selbst kann aus der Webseite von http://www.boriel.com geladen werden. Das Plugin in der Version 2.5d benötigt aber noch

Schriftarten. Diese fehlenden Schriften können aus der Webseite von http://www.dafont.com geladen werden. Somit ist das Plugin komplett.

Die Installation:
- Das Plugin muß entpackt werden. Das daraus entstandene Verzeichnis mit dem Namen “Captcha” muß in folgendes Verzeichnis kopiert werden:

Der Zielort nennt sich also:

(Für eine weitere Hilfe, bitte die README lesen.)

- aktiviere das Plugin im Wordpress-Modul:

- Für die Schriften muß ein neues Verzeichnis erstellt werden.

- In der Optionsseite von diesem Plugin muß der Pfad zum TrueType-Schriftenordner angegeben werden:

Außerdem sollte noch die Sprache ausgewählt werden. Und ich empfehle eine gut lesbare Schrift auszuwählen und in den Einstellungen einzutragen!

Jetzt ist das Plugin schon aktiv und kann sofort genutzt werden. Das Plugin ist nur für Gäste sichtbar. Alle User, Moderatoren und Administratoren sehen das Captcha nicht und können Kommentare schreiben ohne Captcha.

Hier noch ein Bild wie das Captcha für Gäste des Blog’s aussieht:

xoops-wordpress-xpress-captcha-plugin.jpg

XOOPS 2.0.16 register Captcha - Operating instructions and Manual

english.gif german.gif

In letzter Zeit sind viele User auf meinem Portal, welche keine echten User sind! “Fake-Account” mit Werbung, also nur Werbung. Das ist sehr ärgerlich. Diese Accounts gibt es überall, auch bei xoops.org habe ich diese schon gesehen. Hier hilft nur noch ein Captcha. Zum Glück gibt es mit dem neuen Framework 1.10 auch schon ein Captcha. Das Problem dabei ist, keiner kann es nutzen. Es fehlt die Bedienungsanleitung. Damit ist jetzt Schluß! Hier gibt es nun die Lösung.

Voraussetzung ist das installierte Frameworks!

Um das Captcha einbauen zu können öffnen wir die Datei “/include/registerform.php”. Vor der Zeile 90 mit dem Code.

$reg_form->addElement(new XoopsFormHidden("op", "newuser"));$reg_form->addElement(new XoopsFormButton(”", “submit”, _US_SUBMIT, “submit”));$reg_form->setRequired($email_text);

Fügen wir folgendes ein.

if (is_readable(XOOPS_ROOT_PATH."/Frameworks/captcha/formcaptcha.php")) {include_once XOOPS_ROOT_PATH.”/Frameworks/captcha/formcaptcha.php”;$reg_form->addElement(new XoopsFormCaptcha('’, ‘xoopscaptcha’, true, 4, 12, 12, 1, 0));}

Damit wird (sofern das Framework installiert ist) das Captcha angezeigt.

Und zum Schluß ändern wir die Datei “register.php”.

Nach der Zeile 54 in der “register.php” steht folgendes:

if (strrpos($email,' ') > 0) {$stop .= _US_EMAILNOSPACES.’‘;}

Danach folgendes einfügen:

if (is_readable(XOOPS_ROOT_PATH.”/Frameworks/captcha/formcaptcha.php”)) {
require_once XOOPS_ROOT_PATH.”/Frameworks/captcha/captcha.php”;
$xoopsCaptcha = XoopsCaptcha::instance();
if(! $xoopsCaptcha->verify(true) ) {
$stop.= $xoopsCaptcha->getMessage();
}
}

Wordpress zeigt leider im Quellcode nicht alle Zeichen richtig dar. Wer sich nicht damit auskennt, kann die Dateien downloaden.
Bedienungsanleitung:

Erklärung der Parameter des Captcha (in der registerform.php)

1. Parameter ('’) => freilassen, Text wird entsprechend der Sprache automatisch gesetzt
2. Parameter (’xoopscaptcha’) 0> so lassen , intern !
3. Parameter (true) => true -> nur Gäste, false -> alle sehen das Captcha
4.Parameter (4) => Anzahl der Zeichen beim Captcha
5.Parameter (12) => kleinste Zeichenhöhe des Captcha
6.Parameter (12) => grösste Zeichenhöhe des Captcha
7. Parameter (1) => Hintergrundtyp (0 - bar; 1 - circle; 2 - line; 3 - rectangle; 4 - ellipse; 5 - polygon; 100 - aus vorhandenem Bild generieren)
8. Parameter (0) => Nummer des Hintergrundbildes , wenn Parameter 7 auf 100 gesetzt, sonst ohne Bedeutung.

Special thanks to: @Alfred

XOOPS-2016-register-Captcha

XOOPS modules with SQL-Injection

english.gif german.gif

Wie bekannt wurde ist es im Modul “articles” möglich über die print.php des Modules Schadcode einzuschleusen (SQL-Injection). Es wird empfohlen die Druckfunktion im Modul zu deaktivieren , sowie die print.php zu löschen.

Das Modul “articles” sollte nicht mit dem Modul “article” verwechselt werde. Das sind 2 versch. Module! Es sind mehrere Module mit der gleichen Sicherheitslücke betroffen!

http://www.securityfocus.com/archive/1/463916

http://www.securityfocus.com/swsearch?sbm=%2F&metaname=alldoc&query=xoops&x=0&y=0

SecurityImage (Captcha) for your XOOPS

english.gif german.gif

Sicherheitgrafik (Captcha) für Formulare (Xoops 2.0.1x und 2.2.x, PHP5 kompatibel)

Diese Sicherheitsabfrage kann in jedes Modul eingebaut werden, wo ein Formular vorhanden ist.

Die Funktion

new SecurityImage( $Caption, [$ForMembers], [$NumChar], [$MinFontSize], [$MaxFontSize], [$BackgroundType], [$NumBackground], [$SessionName], [$SensitiveCase]);

Die Parameter

# $Caption (String) = Sicherheitscode der Session
# $ForMembers (bool) = Aktivierung für Member der Seite 1=Ja - 0=Nein
# $NumChar (int) = Anzahl der Zeichen des Sicherheitcodes
# $MinFontSize (int) = Minimale Textgröße
# $MaxFontSize (int) = Maximale Textgröße
# $BackgroundType (int) = Art der Schriftart
# $NumBackground (int) = Anzahl der Farben für das Bild (0 = nicht definiert)
# $SessionName (string) = Name der Session
# $SensitiveCase (bool) = Deaktivieren der Abfrage 1=Ja - 0=Nein

Type der Grafik

* 0=Gitter
* 1=Kreise
* 2=Linien
* 3=Rechtecke
* 4=Elipsen
* 5=Polygone
* 100=Dateien im Ordner (GIF/JPG/PNG)

Ordnererstellung und Freigabe

Ordner für die Grafiken ist /uploads/securityimage/

Ordner für die Schriften ist /uploads/securityimage/fonts/

Ordner für den Cache ist /uploads/securityimage/cache
Wichtig, der Ordner muß auf CHMOD 777 gestellt werden!!!

So nun geht es zur Installation:
Einfach alle Dateien auf den Webserver kopieren und die Rechte setzen.

Danach die Datei /language/german/global.php öffnen und folgende Definitionen ergänzen:

define("_SECURITYIMAGE_CODE","Sicherheitscode");
define("_SECURITYIMAGE_GETCODE","Bitte Sicherheitscode eingeben");
define("_SECURITYIMAGE_ERROR","falscher Sicherheitscode"); define("_SECURITYIMAGE_GDERROR","<strong><font color="#cc0000">GD-Bibliothek ist nicht installiert</font> : <a target="php" href="http://de2.php.net/manual/de/ref.image.php">PHP Manual</a></strong>
");

Weiter muß die Datei class/xoopsformloader.php ergänzt werden. Einfach am Ende folgendes anhängen:

include_once XOOPS_ROOT_PATH."/class/xoopsform/securityimage.php";

Nun geht es ans Modul:
Dies ist nun etwas schwieriger, da jedes Modul anders programmiert ist, generell kann man aber sagen, dass es 1 oder 2 Dateien sind, die bearbeitet werden müssen. Ich habe mir hier mal das orginale Contakt Modul (V 1.0) genommen und werde daran erklären, was gemacht werden muß.

Als erstes öffnen wir die Datei /modules/contakt/contactform.php

Dort suchen wir den Button für das übermitteln des Formulares. Diese Zeile kann von Modul zu Modul anders sein. Hier wird nun die Sicheheitsabfrage in das Formular integriert.

hier ist es folgende Zeile:

$contact_form->addElement($submit_button);

Davor fügen wir folgenden Code ein:

//Sicherheitscode
if (defined('SECURITYIMAGE_INCLUDED')) {
$security_image = new SecurityImage( _SECURITYIMAGE_GETCODE );
if ($security_image->render()) {
$form->addElement($security_image, true);
}
}
//Sicherheitscode Ende

und passen die Zeile für das Einfügen des Elementes an:

$form->addElement($security_image, true);

ändern in

$contact_form->addElement($security_image, true);

Dies muß je nach Modul und Variable für das Formular gemacht werden.

Das war es in dieser Datei.

Nun öffnen wir die Datei /modules/contakt/index.php. Hier suchen wir die Ecke, wo die Überprüfung des Formulares durchgeführt wird, hier ist es folgender Bereich:

if ( !empty($usersCompanyLocation) ) {
$adminMessage .= _CT_LOCATION." $usersCompanyLocationn";
}

Dieser Bereich ist je nach Modul unterschielich.

Hiermit wird die Funktion erstellt. Unter diesen Zeilen fügen wir folgenden Code ein:

//Sicherheitscode
include_once(XOOPS_ROOT_PATH . "/class/xoopsformloader.php");
if ( defined('SECURITYIMAGE_INCLUDED') &&!SecurityImage::CheckSecurityImage() ) {
redirect_header("Pfad zum redirect_header", 2, _SECURITYIMAGE_ERROR ) ;
exit();
}
//Sicherheitscode Ende

Nun müssen wir noch den Pfad in dieser Zeile anpassen:

Dies ist je nach Modul unterschiedlich.

redirect_header("Pfad zum redirect_header", 2, _SECURITYIMAGE_ERROR ) ;

ändern in

redirect_header("index.php", 2, _SECURITYIMAGE_ERROR ) ;

Wenn alle Änderungen gemacht sind, sollte nun im Kontaktformular ein Sicherheitsbild generiert werden, und nur mit dem entsprechneden Code die Daten übergeben werden.

Es kann vorkommen, dass es wie oben beschriebn nur 1 Datei ist die editiert werden muß, dann ist alles in dieser einen Datei zu machen.

Den Hack findet ihr hier http://www.dugris.info/wfdownloads-viewcat.cid-4.htm

und die Erklärung in französisch hier http://www.dugris.info/smartsection-item.itemid-1-page-0.htm

Besten Danke an DuGris die diesen Hack erstellt haben.

(THX to: @Knallkopp_02)

Liaise 1.26 with Captcha

english.gif german.gif

Das allerbeste Kontakt-Modul ist sicherlich, und da werdet Ihr mir zustimmen, das Liaise-Modul in der Version 1.26 für XOOPS 2.0.X (thanks: brandycoke.com)

Da dieses Modul eben auch für Gäste freigegeben werden muß, häufen sich leider die SPAM-Einträge. Das ist für einen Administrator mehr als lästig, weil man mit SPAM regelrecht bombardiert wird.

Doch jetzt gibt es eine Lösung: Der User @mclaines (auch bekannt für sein Gallerie-Modul) hat aus dem Modul “xcgal” das Sicherheitsbild genommen und in das Kontakt-Modul eingebaut! Besten Dank dafür!

Die einzige Voraussetzung ist eben die Unterstützung von GD Library und Freetype von dem Webhoster, was jedoch in den meisten Fällen dabei ist.

Zum Updaten des Modules, einfach die Dateien entpacken und überschreiben. Anschließend die “upgrade2.php” aus der Administration starten. (…/liaise/admin/upgrade2.php)

(Bei einer Neuinstallation des Modules, muß kein Upgrage durchgeführt werden.)

Für alle registrieten User ist der Download kostenlos.

Powered by XOOPS 2.0.16 © 2001-2007 The XOOPS Project

Design by XOOPS-magazine.com Powered by XOOPS 2.0.16 | Ref: 1220636892
Impressum / Disclaimer Impressum | Kontakt / Contact Kontakt | Xoops Headlines all Xoops-Headlines | Xoops Headlines Sitemap | Xoops Headlines Stats

Admin-Infos: 0.896 Sekunden / secounds + 3 Abfragen / queries
Special thanks to Link > matchan matchan and Link > kruxmux kruxmux!



xoops topliste