• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Vor SQL Injection und XSS schützen

-Spamschutz: IP in DB schreiben und nach 30 min löschen, dann gehts wieder

Die IP wuerde ich als Sperre nicht benutzten. Es gibt viele Leute die mittels eines Proxies ins Internet gehen. Es ist unwahrscheinlich, aber wenn du eine oft besuchte Seite betreibst und jemand mit einem Proxy unterwegs ist, seine IP sich ändert und du seine IP aus Spamgruenden sperrst, kann es vorkommen, dass jemand anderes mit der IP kommt und gesperrt ist.

Ich wuerde eher eine MAC-Adresse Sperre einbauen. Jeder Computer/Laptop etc hat eine eindeutige MAC-Adresse. Es gibt zwar Wege seine MAC-Adresse zu verfaelschen (vlt gibt es auch einen MAC-Proxy). Doch wie man seine MAC-Adresse aendert, wissen weniger leute als seine IP Adresse zu aendern. Ich wage mal zu vermuten, dass ein normaler Internetbenutzter keine Ahnung hat, was eine MAC-Adresse ist.
 
Ne, kannst Du nicht, da die MAC-Adresse nicht im $_SERVER-Array übertragen wird.

Gruß thuemmy
habe mal gegooglet uns bin auf folgendes gestoßen

PHP:
<?php
    $Ip = $_SERVER["REMOTE_ADDR"];

  function getMac ( $Ip) 
  {
      if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') 
      {
         $output = shell_exec("nbtstat -a $Ip");
         $output = explode("\n",$output);
         $mac_line = explode ("=", $output[ sizeof($output)-3 ]);
         $sMacAddress = trim($mac_line[1]);
      } 
      else
      {
         $location = `which arp`;
         $arpTable = `$location -n $Ip`;
         $arpSplitted = split("\n",$arpTable);
   
         foreach ($arpSplitted as $value) 
         {
      
            $valueSplitted = split(" ",$value);
      
            foreach ($valueSplitted as $spLine) 
            {
         
               if (preg_match("/$Ip/",$spLine)) 
               {
                  reset($valueSplitted);
            
                  foreach ($valueSplitted as $spLine) 
                  {
                     if (preg_match("/[0-9a-f][0-9a-f][:-]".
                                    "[0-9a-f][0-9a-f][:-]".
                                    "[0-9a-f][0-9a-f][:-]".
                                    "[0-9a-f][0-9a-f][:-]".
                                    "[0-9a-f][0-9a-f][:-]".
                                    "[0-9a-f][0-9a-f]/i",$spLine)) 
                                    {
                                        $sMacAddress = $spLine;
                                        break;
                                    }
                  }
               }
            }
         }
      }
      return $sMacAddress;
   } 
   
   echo ($sMacAddress);
 ?>
nur leider kommt nichts bei echo
 
Der Command nbstat, der im Script aufgerufen wird, ist meines Wissens ein Konsolen-Befehl für die Windowsumgebung. Da Webserver meistens auf Linux-System aufgesetzt sind, wirst Du da keinen Erfolg mit haben. Überdies ist auch die Frage, ob Du überhaupt berechtigt bist, Programme auszuführen. Das nächste Problem ist natürlich, dass Du nicht immer an die Rechner-IP heran kommst. Bei mir würdest Du die öffentliche IP meines Routers bekommen. Und wenn ich was böses machen würde, dann würde ich so oder so über einen Proxy gehen ;-)

Gruß thuemmy
 
wie würde mad dog das dann realisieren wollen?
gehen wir einfach davon aus ich darf das und habe winwows.
was ist falsch am skript???
 
thuemmy hat recht. mittels php alleine ist das leider nicht moeglich.
ich habe ein bisschen im internet gesucht, aber auch keine bessere loesung gefunden, ausser eine, welche aber auch nur unter windows funktioniert.

dann muss man wohl auf die ip adrese zurueckkommen.
 
thuemmy hat recht. mittels php alleine ist das leider nicht moeglich.
ich habe ein bisschen im internet gesucht, aber auch keine bessere loesung gefunden, ausser eine, welche aber auch nur unter windows funktioniert.

dann muss man wohl auf die ip adrese zurueckkommen.
arp -a ? ;)
habe mir das mal runtergeladen, aber es hat nicht gefunzt.
aber jetzt wo du es sagst, ist das skript ja eh sinnlos. weil man ja die IP dazu braucht. man könnte höchstens schauen wie oft die MAC aufschlägt. Aber sogar die MAC adresse läst sich ändern...

aber mal was anderes:
was kann man eigentlich alles über den user herausfinden?
provider, ip, http_referer (php)
farbtiefe, auflösung (jscript)

und irgendwie muss man auch die lokale IP herausfinden können...
Anonymous Surfing

sucht einfach mal übe STRG F auf der seite nach eurer lokalen IP - irgendwo steht sie
 
Ab PHP Version 5.1 steht PDO (PHP DATA OBJECTS) zur Verfügung.
PHP: PDO - Manual. PDO schützt in noch stärkerem Maße vor SQL-Injection als mysqli.

Eine sehr aufschlußreiche Seite zu XSS usw ist
http://www.erich-kachel.de/?p=181

Ladet euch mal die Analyse der Schwachstellen PHP/MYSQL herunter! Bisher das Beste,
was ich zu diesem Thema gelesen habe!
 
Zuletzt bearbeitet:
Zurück
Oben