Hallo, ich wollte mal grundsätzlich wissen ob es möglich ist, Clients zu verbannen die zu viele errors verursachen. Der Hintergrund: folgende Logeinträge in der error_log
[Sun Nov 25 16:38:04 2007] [error] [client 66.249.72.18] PHP Warning: fopen(/home/www/web32/html/media/original_temp.jpg): failed to open stream: Permission denied in /home/www/web32/html/administrator/components/com_rsgallery2/includes/img.utils.php on line 789
[Sun Nov 25 16:38:04 2007] [error] [client 66.249.72.18] PHP Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web32/html/administrator/components/com_rsgallery2/includes/img.utils.php on line 790
[Sun Nov 25 16:38:04 2007] [error] [client 66.249.72.18] PHP Warning: imagejpeg(): Unable to open '/home/www/web32/html/media/original_temp.jpg' for writing: Permission denied in /home/www/web32/html/administrator/components/com_rsgallery2/includes/img.utils.php on line 793
[Sun Nov 25 16:38:04 2007] [error] [client 66.249.72.18] PHP Notice: Undefined variable: watermark in /home/www/web32/html/administrator/components/com_rsgallery2/includes/img.utils.php on line 796
[Sun Nov 25 16:38:04 2007] [error] [client 66.249.72.18] PHP Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/www/web32/html/administrator/components/com_rsgallery2/includes/img.utils.php on line 796
[Sun Nov 25 16:38:04 2007] [error] [client 66.249.72.18] PHP Warning: fopen(/home/www/web32/html/media/display_temp.jpg): failed to open stream: Permission denied in /home/www/web32/html/administrator/components/com_rsgallery2/includes/img.utils.php on line 789
[Sun Nov 25 16:38:04 2007] [error] [client 66.249.72.18] PHP Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web32/html/administrator/components/com_rsgallery2/includes/img.utils.php on line 790
[Sun Nov 25 16:38:04 2007] [error] [client 66.249.72.18] PHP Warning: imagejpeg(): Unable to open '/home/www/web32/html/media/display_temp.jpg' for writing: Permission denied in /home/www/web32/html/administrator/components/com_rsgallery2/includes/img.utils.php on line 793
[Sun Nov 25 16:38:04 2007] [error] [client 66.249.72.18] PHP Notice: Undefined variable: watermark in /home/www/web32/html/administrator/components/com_rsgallery2/includes/img.utils.php on line 796
[Sun Nov 25 16:38:04 2007] [error] [client 66.249.72.18] PHP Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/www/web32/html/administrator/components/com_rsgallery2/includes/img.utils.php on line 796
damit füllt sich die error_log pro Tag um ca.2MB! Es ist immer die gleiche IP (jeden Tag ne andere aber dann für einen langen Zeitraum die gleiche)
wie erreiche ich es dass Anfragen von einer IP-Adresse die mehrfach error_logs verursachen ausgeschlossen werden bzw. für einen bestimmten Zeitraum gesperrt werden. Wenn das möglich ist, kann ich dann unterscheiden zwischen error_logs die aus deutschland verursacht werden und error_log die von ausländischen Rechnern verursacht werden? Dass ich beispielweise mehr error_log von deutschen Rechnern erlaufe als von ausländischen? Ich will nicht rassistisch rüber kommen, aber über ein unsicheres Script wurde mein Server beschädigt und ich sehe nach wie vor dass es auf genau die gleiche Weise wieder versucht wird (geht aber nicht mehr weil das betreffende Script gelöscht uwrde)
Wie wäre es, wenn du die Skripte absicherst und auch so schreibst, dass keine Fehler entstehen? Nur weil du die IP irgendwann ausschließt, wird dein Skript nicht sicherer.
Was passiert, wenn du einen toten Link hast oder ein anderer Fehler auftaucht. Vor allem Proxys hast du dann ganz schnell ausgesperrt und der Schuss geht nach hinten los.
Gegen die Größe der error_log könntest du noch logrotate laufen lassen, aber am besten ist natürlich, Fehler treten erst gar nicht auf.
timeless2 wrote:Wie wäre es, wenn du die Skripte absicherst und auch so schreibst, dass keine Fehler entstehen? Nur weil du die IP irgendwann ausschließt, wird dein Skript nicht sicherer.
Was passiert, wenn du einen toten Link hast oder ein anderer Fehler auftaucht. Vor allem Proxys hast du dann ganz schnell ausgesperrt und der Schuss geht nach hinten los.
Gegen die Größe der error_log könntest du noch logrotate laufen lassen, aber am besten ist natürlich, Fehler treten erst gar nicht auf.
Ja, das ist schon richtig, aber mal auf ganz blöd: Wenn iche Fehlermeldung bekomme, dann versuche ich sicher drei, vier mal noch einmal. Wenn ich dann immer wieder die Fehlermeldung bekomme stellt sich die Frage was das soll? Ich meine ich will ja nicht nach dem dritten mal sperren, aber 30 mal der gleiche Fehler sollte dann schon fragen aufwerfen oder nicht? Fehlerfrei scripten ist schon richtig, aber wenn zum Beispiel versucht wird direkt eine Datei über den Brwoser aufzurufen was aber nicht zugelassen ist, dann wird eine Fehlermeldung generiert. Kommt die zu oft soll halt für ne Gewisse Zeit gesperrt werden.
Die von dir geposteten Fehlermeldung gehen ausschließlich auf das Konto des Programmierers bzw. des Administrators. Da können User u. Suchmaschinen nichts für. Eine Suchmaschine kann eine Fehlermeldung im übrigen nur schlecht von einer funktionierenden Website unterscheiden.
Du könntest E_NOTICE aus dem Loglevel nehmen, allerdings wäre das nur Fusch um anderen Fusch zu vertuschen.
oxygen wrote:Die von dir geposteten Fehlermeldung gehen ausschließlich auf das Konto des Programmierers bzw. des Administrators. Da können User u. Suchmaschinen nichts für. Eine Suchmaschine kann eine Fehlermeldung im übrigen nur schlecht von einer funktionierenden Website unterscheiden.
Du könntest E_NOTICE aus dem Loglevel nehmen, allerdings wäre das nur Fusch um anderen Fusch zu vertuschen.