Ankündigung

Einklappen
Keine Ankündigung bisher.

Datei öffnen, Zeile suchen und löschen, Datei speichern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • fred0815
    hat ein Thema erstellt Datei öffnen, Zeile suchen und löschen, Datei speichern.

    Datei öffnen, Zeile suchen und löschen, Datei speichern

    Hallo, ich hoffe ich bin im richtigen Bereich. Bevor jemand Doppeltpost schreit, ich habe diese Frage schon im raspberrypi-forum gestellt und keine Lösung:
    https://forum-raspberrypi.de/forum/t...724#post554724
    Ich möchte gerne mit PHP eine .htaccess Datei einlesen, eine Zeile löschen und die Datei wieder speichern. Leider klappt das nicht so, wie ich das will.
    Script:
    PHP-Code:
    $remoteip $_SERVER['REMOTE_ADDR'];
    echo 
    $remoteip;
    echo 
    "<br />";
    $lesedatei file("/pfad/datei");
    print_r($lesedatei);
    echo 
    "<br />";
    $allow_from = ("allow from ");
    echo 
    $allow_from;
    echo 
    "<br />";
    $ersetzedurch = ("");
    echo 
    $ersetzedurch;
    echo 
    "<br />";
    $gesuchtezeile = ("$allow_from $remoteip");
    echo 
    $gesuchtezeile;
    echo 
    "<br />";
    foreach (
    $lesedatei as $zeile)
    {
    if (
    strpos($zeile,$gesuchtezeile) !== false)
        {
        echo 
    '$remoteip gefunden: $zeile';
        }
    else
        {
        echo 
    'Nichts gefunden, suche weiter. ';
        continue;
        }

    Ausgabe:
    Code:
    Array ( [0] => ErrorDocument 404 /404.html [1] => ErrorDocument 403 /403.php [2] => [3] => order deny,allow [4] => deny from all [5] => allow from 10.8.0 [6] => allow from 127.0.0.1 [7] => allow from 192.168.0 [8] => allow from 192.168.0.250 [9] => [10] =>.....72.71.70.69 [238] => allow from 23.22.21.20 )  
    
    allow from
    allow from 192.168.0.250
    Nichts gefunden, suche weiter. Nichts gefunden, suche weiter. Nichts gefunden, suche weiter. Nichts gefunden, suche weiter. Nichts......
    Hat jemand einen Tip für mich warum die Zeile 8, in meinem Fall die 192.168.0.250 nicht gefunden wird ?

  • fred0815
    antwortet
    Also, hier ist die Lösung:
    PHP-Code:
    <?php $remoteip $_SERVER['REMOTE_ADDR'];
    $lesedatei file("/pfad/datei");
    //print_r($lesedatei);
    $allow_from = ("allow from");
    //echo $allow_from;
    $ersetzedurch = ("");
    echo 
    $ersetzedurch;
    $gesuchtezeile = ("$allow_from $remoteip");
    //echo $gesuchtezeile;
    foreach ($lesedatei as $zeile)
    { if (
    strpos($zeile,$gesuchtezeile) !== false )    
    {    
    echo 
    "Deine IP wurde gefunden. ";
        echo 
    "<br />";
        
    $loeschezeile str_replace($gesuchtezeile$ersetzedurch$lesedatei);
    //    print_r($loeschezeile);
        
    $schreibedatei file_put_contents("/pfad/datei",$loeschezeile);
        echo 
    '<h2>Die IP ';
    echo 
    $remoteip;
    echo 
    ' wurde gelöscht</h2>';
        echo 
    "<br />";
        } else { 
    //echo "Nicht gefunden. ";
    }  }
    ?>
    <h2> Jetzt ist dir der Zugang zur Seite wieder verwehrt. </h2>
    <h1><a href="index.php" target="_self">Startseite </a>
    </h1>
    <?php $frei file_get_contents('/pfad/anderedatei.txt');
    if (
    intval($frei) == 0){ echo "Zur Zeit ist niemand freigeschaltet";
    } else { echo 
    "Anzahl Freischaltungen: $frei";
    ?>
    <br>
    <?php $filename '/pfad/anderedatei.txt';
    if (
    file_exists($filename)) {     echo "Zuletzt geprüft:<br />\n " date ("d.m.Y H:i:s"filemtime($filename));
    } echo 
    "<br />";
    ?>
    Wie kann man das Thema als erledigt kennzeichnen ?
    Und warum zerrupft es mir hier immer die Zeilenumbrüche im Code ?
    So sieht es jetzt aus:
    loesche_ip1.jpg

    Einen Kommentar schreiben:


  • tk1234
    antwortet
    Zitat von fred0815 Beitrag anzeigen
    Hat jemand einen Tip für mich warum die Zeile 8, in meinem Fall die 192.168.0.250 nicht gefunden wird ?
    Beim Arbeiten mit file() sind die Zeilenenden ein den einzelnen Arrayelementen häufig die Ursache für Probleme: die bleiben nämlich standardmäßig erhalten wenn nicht FILE_IGNORE_NEW_LINES als zweiter Parameter übergeben wird (siehe Handbuch).

    Zitat von fred0815 Beitrag anzeigen
    Ein Problem ist schon mal gelöst.
    Und wo liegt dann noch das Problem?

    Zum Code:
    > $ersetzedurch = ("");
    Wofür die Klammern?

    > if (strpos($zeile,$gesuchtezeile) !== false )
    Es gibt die Funktion str_contains(), damit wird die Bedingung imho besser lesbar.

    > order deny,allow
    > deny from all
    Das scheint noch alter Code für Apache 2.2 zu sein, bei der Version 2.4 hat sich da was geändert.

    > php_flag register_globals "off"
    Die Einstellung gibt es schon ewig nicht mehr, die Zeile kann ersatzlos entfallen.

    Einen Kommentar schreiben:


  • fred0815
    antwortet
    Das ist meine IP, mit der ich auf dem Webserver bin.
    Ein Problem ist schon mal gelöst.
    PHP-Code:
    <?php
    $remoteip 
    $_SERVER['REMOTE_ADDR'];
    $lesedatei file("/var/www/html/axel_freiburg/spielplatz/.test");
    //print_r($lesedatei);
    $allow_from = ("allow from");
    //echo $allow_from;
    $ersetzedurch = ("");
    echo 
    $ersetzedurch;
    $gesuchtezeile = ("$allow_from $remoteip");
    //echo $gesuchtezeile;
    foreach ($lesedatei as $zeile)
    {
    if (
    strpos($zeile,$gesuchtezeile) !== false )
        {
        echo 
    "Deine IP wurde gefunden. ";
        echo 
    "<br />";
        echo 
    'Um sie zu löschen, kopiere sie in das Feld und klicke auf "Löschen"';
        echo 
    "<br />";
        echo 
    "<br />";
        echo 
    'Das kopieren:';
        echo 
    $_SERVER['REMOTE_ADDR'];
        }
    }

    ?>
    Das funktioniert dann schon mal.
    Die .htaccess :
    Code:
    ErrorDocument 404 /404.html
    ErrorDocument 403 /403.php
    
    order deny,allow
    deny from all
    allow from 10.8.0
    allow from 127.0.0.1
    allow from 192.168.0
    allow from 192.168.0.250
    
    allow from 85.92.66.148
    #xml-sitemaps.com
    
    allow from 17.241.219.44
    #applebot
    
    allow from 34.89.185.14
    #google
    
    allow from 34.91
    allow from 66.249.76.93
    #google
    
    allow from 35.240.94
    #google
    
    allow from 52.167.144
    allow from 52.167.144
    allow from 40.77.167.236
    allow from 40.77.167.238
    allow from 66.249.69
    allow from 209.85.220
    allow from 77.88.5.136
    allow from 114.119.156.182
    allow from 114.119.143.25
    allow from 157.55.39.41
    allow from 167.248.133.120
    allow from 207.46.13.232
    
    php_flag register_globals "off"
    RewriteEngine on
    
    RewriteCond %{HTTP_USER_AGENT} ^CherryPicker [OR]
    RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Crescent [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
    RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]
    RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EmailCollector [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]
    RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]
    RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]
    RewriteCond %{HTTP_USER_AGENT} ^FunWebProducts [OR]
    RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]
    RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Go-http-client/1.1 [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]
    RewriteCond %{HTTP_USER_AGENT} ^GornKer [OR]
    RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]
    RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]
    RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]
    RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Irvine [OR]
    RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
    RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]
    RewriteCond %{HTTP_USER_AGENT} "^Java/1.8.0_352" [OR]
    RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]
    RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Irvine [OR]
    RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
    RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]
    RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]
    RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]
    RewriteCond %{HTTP_USER_AGENT} "^Linux Gnu (cow)" [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Microsoft.URL [OR]
    RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]
    RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]
    RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]
    RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]
    RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]
    RewriteCond %{HTTP_USER_AGENT} ^NICErsPRO [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]
    RewriteCond %{HTTP_USER_AGENT} ^oegp [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]
    RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]
    RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]
    RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]
    RewriteCond %{HTTP_USER_AGENT} ^python-requests [OR]
    RewriteCond %{HTTP_USER_AGENT} ^dloader(NaverRobot) [OR]
    RewriteCond %{HTTP_USER_AGENT} ^robertdavidgraham [OR]
    RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]
    RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SearchExpress [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Siphon [OR]
    RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]
    RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebBandit [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]
    RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SearchExpress [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
    RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Siphon [OR]
    RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]
    RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebBandit [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]
    RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
    
    RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
    RewriteCond %{HTTP_USER_AGENT} ^Zeus [OR]
    RewriteCond %{HTTP_USER_AGENT} ^curl [OR]
    RewriteCond %{HTTP_USER_AGENT} "^Mozilla/5.0 zgrab/0.x" [OR]
    RewriteCond %{HTTP_USER_AGENT} ^ZyBorg
    
    RewriteRule ^(.*) http://127.0.0.1/ [R=301,L]
    
    RewriteCond %{REQUEST_URI} x0 [OR,NC]
    RewriteCond %{QUERY_STRING} x0 [OR,NC]
    RewriteCond %{REQUEST_URI} x1 [OR,NC]
    RewriteCond %{QUERY_STRING} x1 [OR,NC]
    RewriteCond %{REQUEST_URI} x2 [OR,NC]
    RewriteCond %{QUERY_STRING} x2 [OR,NC]
    RewriteCond %{REQUEST_URI} x3 [OR,NC]
    RewriteCond %{QUERY_STRING} x3 [OR,NC]
    RewriteCond %{REQUEST_URI} x4 [OR,NC]
    RewriteCond %{QUERY_STRING} x4 [OR,NC]
    RewriteCond %{REQUEST_URI} x5 [OR,NC]
    RewriteCond %{QUERY_STRING} x5 [OR,NC]
    RewriteCond %{REQUEST_URI} x6 [OR,NC]
    RewriteCond %{QUERY_STRING} x6 [OR,NC]
    RewriteCond %{REQUEST_URI} x7 [OR,NC]
    RewriteCond %{QUERY_STRING} x7 [OR,NC]
    RewriteCond %{REQUEST_URI} x8 [OR,NC]
    RewriteCond %{QUERY_STRING} x8 [OR,NC]
    RewriteCond %{REQUEST_URI} x9 [OR,NC]
    RewriteCond %{QUERY_STRING} x9 [NC]
    # Options +FollowSymlinks
    RewriteCond %{HTTP_REFERER} fashionjewelryshoponline\.com [NC]
    RewriteCond %{HTTP_REFERER} cigarettesonlineinfo\.com [NC]
    RewriteCond %{HTTP_REFERER} cheapcigarettesworld\.com [NC]
    RewriteCond %{HTTP_REFERER} bootsugg-canada\.com [NC]
    RewriteCond %{HTTP_REFERER} discountcigarettesworld\.com [NC]
    RewriteCond %{HTTP_REFERER} jacketssalesshop\.com [NC]
    RewriteCond %{HTTP_REFERER} northfacejacketireland\.com [NC]
    RewriteCond %{HTTP_REFERER} ninjacode\.info [NC]
    RewriteCond %{HTTP_REFERER} ugg4canada\.com [NC]
    RewriteCond %{HTTP_REFERER} cigarettesbuyer\.com [NC]
    RewriteCond %{HTTP_REFERER} northface-jakker\.net [NC]
    RewriteCond %{HTTP_REFERER} slotsfor\.com [NC]
    RewriteCond %{HTTP_REFERER} bestcigarettesshop\.com [NC]
    RewriteCond %{HTTP_REFERER} handmadeprimitivedoll\.com [NC]
    RewriteCond %{HTTP_REFERER} getdiscountcigarettes\.com [NC]
    RewriteCond %{HTTP_REFERER} casinocardgames\.ca [NC]
    RewriteCond %{HTTP_REFERER} blackjackfor\.com [NC]
    RewriteCond %{HTTP_REFERER} wolfslot\.com [NC]
    RewriteCond %{HTTP_REFERER} viagrashop4usa\.com [NC]
    RewriteCond %{HTTP_REFERER} schooldegreesource\.com [NC]
    
    RewriteRule .* - [F]
    
    RewriteCond %{QUERY_STRING} ^(%2d|-)[^=]+$ [NC]
    RewriteRule ^(.*) $1? [L]
    Ausgabe:
    loesche_ip.jpg

    Einen Kommentar schreiben:


  • hellbringer
    antwortet
    Kannst du bitte den Inhalt von .htaccess auch zur Verfügung stellen?

    Einen Kommentar schreiben:

Lädt...
X