Spamschutz für die WIW Shoutbox
#1
Was macht dieser Hack? Zur Zeit erproben wir einen kleinen Spamschutz für die WIW Shoutbox (Hack kann man hier im WIW ansehen und per Mail an mich anfordern).
Bevor man einen Eintrag machen kann, muss man eine Kontrollbox aktivieren.

Wir erhoffen uns dadurch einige Bots auszusperren. Kommt natürlich darauf an wie sie programmiert sind. Bislang testen wir dieses System auch erst. Es zeigten sich aber schon erste Erfolge.

Einbau dauert nicht lange:

1. Suche im Template wiw_chat (über das ACP deines Forums) folgende Zeilen:
Code:
<tr><td class="tableb"><input class="input" type="reset" value="Eingabe löschen" />
</td></tr>
und füge darunter ein:
Code:
<tr><td class="tablea"><span class="smallfont"><input type="checkbox" class="input" name="CheckEntry" value="CheckEntry"> <b>Eintrag bestätigen!</b></span></td></tr>


2. Suche in der Datei wiwchat.php folgenden Teil:
Code:
if(!$message){
und ersetze ihn mit:
Code:
if(!$message OR !$CheckEntry){

such weiter:
Code:
if($message){
und ersetze diesen Teil mit:
Code:
if($message AND $CheckEntry){

Das war schon alles 8)


Ich würde mich über eure Erfahrungen mit diesem System freuen. Hat sich der Spam dadurch vermindert? Blieb er gleich?

Vielen Dank Smile
  Zitieren
#2
Hoi
wenn ich mir deinen Code so ansehe fällt mir auf das er bei register_globals auf off nicht laufen dürfte
vor allem bei neueren PHP Versionen (ab 4.2.x) ist diese Funktion aus Sicherheitsgründen deaktiviert

stattdessen sollte man sogenannten Superglobale Array verwenden
http://www.php-center.de/de-html-manual/...fined.html

möglicherweise funktioniert dann die if Abfrage aber nicht mehr so einfach und du musst mit der isset() Funktion arbeiten
Write this on my gravestone, write this right on my grave, "To whisky and women, here lies a poor slave".

[Bild: 10_en_btn.gif]

Computer- und Mediensicherheit - FH Hagenberg
Hagenberger Kreis zur Förderung der digitalen Sicherheit
Security Forum
  Zitieren
#3
Ja, mit register_globals kämpfe ich schon lange. Will mich auch endlich darauf einstellen aber dann finde ich es wie bisher doch einfacher und lasse es...

Werde aber jetzt viel genauer darauf achten. Nur ich übergebe viel über die URL und das würde dann ja nicht mehr funktionieren oder?

?id=5
echo"$id";
oder echo"$_GET[id]"
?
  Zitieren
#4
wie meinst du das jetzt genau?

du kannst e ganz normal auf alles was mit get rüber kommt mittels $_GET array zugreifen, was mit post kommt über $_POST und falls nicht sicher ist mit was es kommt kannst $_REQUEST nehmen (bei request sind übrigens au cookies dabei)

die superglobalen arrays sind alles assoziative arrays von denen der index der frühere variablenname war und der wert ist halt der wert Wink
Write this on my gravestone, write this right on my grave, "To whisky and women, here lies a poor slave".

[Bild: 10_en_btn.gif]

Computer- und Mediensicherheit - FH Hagenberg
Hagenberger Kreis zur Förderung der digitalen Sicherheit
Security Forum
  Zitieren
#5
Wenn wir schon beim Thema sind und ich mich heute mal etwas dumm anstelle:
Wenn ich eine Variable über die URL weitergebe bringt mir das ganze doch auch nichts oder? Denn ändern kann man z.b. die postid oder sowas auch über die URL.

Es lohnt sich nur bei Formularen wenn ich das richtig sehe weil man dann nicht einfach eine Variable in der URL ändern kann. Stimmt das?
  Zitieren
#6
nein es geht hier um was völlig anderes

wenn alle variablen die über die url übergeben werden automatisch registriert werden kann ich zb variablen setzen bei denen eigentlich gar net gedacht ist das diese vom user gesetzt werden
dadurch kannst das php script auch auf gefährliche weise ändern
wennst hingegen mit superglobalen variablen arbeitest weisst genau welche variablen herein kommen und welche du genau checkst
am anfang is das leicht alle am anfang handzuhaben
einfach vorher die erlaubten werte der variable checken und dann einer normalen variable den wert zuweisen
dann kannst beim script unten normal weiterarbeiten bzw alte scripts leicht umschreiben

und wenn ich will änder ich dir au die sachen die bei post drinnen stehn Wink (es werden bei post daten einfach an die nachricht angehängt)
Write this on my gravestone, write this right on my grave, "To whisky and women, here lies a poor slave".

[Bild: 10_en_btn.gif]

Computer- und Mediensicherheit - FH Hagenberg
Hagenberger Kreis zur Förderung der digitalen Sicherheit
Security Forum
  Zitieren
#7
Danke für die Erklärung Smile Habe gestern nochmal drüber nachgedacht und dann wurde es mir auch langsam klar. Klingt ja logisch und irgendwie auch nachvollziehbar.

In Zukunft halte ich mich sicher dran. (Ich probiere es zumindest) Werde auf meinem lokalen server register_globals auf off stellen.
  Zitieren
#8
Zitat:Original von pattex
[...]

In Zukunft halte ich mich sicher dran. (Ich probiere es zumindest) Werde auf meinem lokalen server register_globals auf off stellen.

register_globals=off... dass ich das auf meine alten Tage noch erleben darf... der Herr hat mein Flehen erhört :yipie: und Einsicht auf meine Kollegen geworfen... :engel:
  Zitieren
#9
juhu...die bots haben die wiw wieder erobert *achtung ironie*
Alles rund um die Video und Audiobearbeitung findet ihr
  Zitieren
#10
Mhm... okay, es wird zumindest weniger. Dennoch ärgerlich, dass jetzt doch wieder Spam auftaucht.

Nur, wie machen das die Bots? Wenn man ein Häkchen setzen muss dann machen sie es, muss man es entfernen dann auch. Evtl. den Namen dieses Formularfeldes ändern. Also nicht checkEntry sondern disableSmilies oder sowas *g*
  Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste