Spamschutz durch selbstumbenennendes Script

Slizzzer

Erfahrenes Mitglied
Hallo Forum!

Bedauerlicherweise werden Mail-Scripts ja immer wieder von Spamern missbraucht. Mir ist es auch 2 x passiert, dass man meinen Account gesperrt hat, weil von dem Mailscript Massenmails versandt wurden. Trotz aller Absicherung nach aktuellem Standard hab ich mir überlegt, was man noch tun kann.
Folge Idee, die auch im Rohformat schon funktioniert, kam dabei raus:

Das Script, welches die Mails verschickt erhält einen Namen bestehend aus dem Timestamp.
Jetzt wird per Formel bei jedem Seitenaufruf geprüft, ob der Scriptname seine "Haltbarkeit" überschritten hat. Ist dies so, wird die Datei auf den aktuellen Timestamp umbenannt.
Damit die Verlinkung zu diesem Script auch funktioniert, wird der aktuelle Dateiname in einer Session-Variable gespeichert.

Was haltet Ihr von der Idee? Ist da noch ein Denkfehler drin? Ist sowas leicht auszuhebeln?

Hier nochmal der erste hingeschmierte Code ;o) Ist sicherlich noch viel dran zu schrauben.

Gruß
Ralf

PHP:
<?php
 session_start();
 
 //Maximales Alter des Dateinamen festlegen (in Sekunden)
 $maxdiff = 86400;
 
/*wenn die Variable datei_name noch nicht gesetzt wurde, 
tue es und setze den Wert auf den aktuellen timestamp*/
if(!isset($datei_name)){
  $datei_name = time();
  session_register("datei_name");
  }
  
  //aktuellen Scriptnamen lesen
  $verz=opendir ('script');
   while ($file = readdir ($verz)) {
     if($file != "." && $file != "..") 
     $datei_name=$file;
    }
   closedir($verz); 

  //pruefen, ob dateiname aelter als 1 Tag
  $a = time();
  $differenz = $a-$datei_name;
  
  //wenn dateiname aelter als 1 Tag, dann Namen aendern
  if($differenz>$maxdiff){
   $datei_name=time();

  $verz=opendir ('script');
   while ($file = readdir ($verz)) {
     if($file != "." && $file != "..") 
     @rename("script/$file","script/$datei_name.php");
    }
   closedir($verz); 
  }
?>
<form action='<? echo "script/$datei_name"; ?>' method='post'>
...
 
Hi!
Wie könnte das gehen? Bin da nicht so bewandert. Umweg über den Refferer heißt was genau?

Das Script wird 1 x innerhalb von 24 Stunden umbenannt, vorausgesetzt jemand ruft innerhalb von 24h die Seite auf.
In dem Zuge, wo die Session erstellt wird, wird auch das Script umbenannt (sofern min. 24h verstrichen sind) und der aktuelle Name in einer Session-Variable gespeichert. Diese wiederum "sagt" dem Formular unter action='' wie das Script aktuell heißt.
 
Naja der Spammer kann ja über den Link zum Formular gelangen und schon hat er ne eigene Session und weiß wie das Formular heißt (da es ja denn im Formular steht)!
 
Ich bin dabei jetzt davon ausgegangen, dass die Suche nach "brauchbaren" Scripten automatisiert abläuft. Es kündigte sich bisher recht ähnlich an. Zunächst hat der Seitenbesitzer einen haufen Spammails erhalten (rund 2000 Stück). Das sah nach einem Botscript aus.
Einige Tage später gabs dann Mecker vom Hoster.

Hast aber recht: natürlich kann man den Scriptnamen im HTML-Code einsehen. Das ist natürlich das Problem an der Sache, wo ich auch schon rumgeknobelt habe. Es müßte dann irgendwie serverseitig umgeleitet werden. Einen Verweis auf irgendein Script hat man natürlich immer irgendwie. Vielleicht kann man bei den Downloadumleitungen was abgucken?!
Ich werd da nochmal stöbern.

Aber schon mal danke fürs Scriptangucken ;o)
 
Hy nix zu danken, dafür ist das Forum ja da! :)

Aber hast du vllt. schonmal was von Captcha gehört ist meiner Meinung nach im Moment zumindest ne 90%- ige Garantie dafür, dass man keine Massenmails bekommt. Da der Rechenaufwand viel zu groß wär! Alleine die Anwesenheit solcher Bildchen reicht manchmal schon um den Spammer zu hindern, die Seite anzupingen! (Natürlich funktionsfähig) :)
 
Wieso setzt du nicht einfach einen Authorisierungsschlüssel ein, der in dem Formularskript in der Sitzung gesetzt und in dem verarbeitenden Skript geprüft und anschließend gelöscht wird? Damit ist ein erfolgreicher Zugriff nur über das Formular möglich.
 
Sichtbarkeit des Schlüssels wäre dann ja egal, da er nur in dem Formular (Code) sichtbar wäre und nach versandt der Mail gelöscht wird <- Hab ich so richtig verstanden? Einfach und gut!

Danke für den Tipp!

Edit:
Das mit den Captchas hab ich auch schonmal gedacht. Ich sammel jetzt mal Tipps und werd mal weiterbasteln.

Ist das nicht nervig wieviel Zeit und Arbeit man "nur" für diesen ganzen Absicherungskram investieren muss? Können den Hackern und Spammern nicht einfach die Finger abfaulen? ;o)
 
Zuletzt bearbeitet:
Slizzzer hat gesagt.:
Sichtbarkeit des Schlüssels wäre dann ja egal, da er nur in dem Formular (Code) sichtbar wäre und nach versandt der Mail gelöscht wird <- Hab ich so richtig verstanden? Einfach und gut!

Danke für den Tipp!

Edit:
Das mit den Captchas hab ich auch schonmal gedacht. Ich sammel jetzt mal Tipps und werd mal weiterbasteln.

Ist das nicht nervig wieviel Zeit und Arbeit man "nur" für diesen ganzen Absicherungskram investieren muss? Können den Hackern und Spammern nicht einfach die Finger abfaulen? ;o)

[OT]Irgendeiner muss uns ja auf trapp halten, sonst wären wir ja bald arbeitslos! :)[/OT]
 
Zurück