Ankündigung

Einklappen
Keine Ankündigung bisher.

Crawlen von Passwort geschützten Seiten verhindern

Einklappen

Neue Werbung 2019

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

  • Crawlen von Passwort geschützten Seiten verhindern

    Hallo
    Ich habe festgestellt, dass der MegaIndex.ru meine geschützten Seiten abgerufen hat.
    Im <head> habe ich <meta name=“robots“ content=“noindex, nofollow“ /> eingetragen und auch ein robots.txt im entsprechende Verzeichnis hinterlegt:
    User-agent: *
    Disallow: /
    Wie ist das möglich? Können Passwort geschützte Seiten einfach so abgefragt werden?
    Viele Grüsse, nebbiolo

  • #2
    Meta Tags und auch die Datei robots.txt schützen gar nichts. Sie geben lediglich Hinweise auf die Wünsche des Seitenbetreibers, aber Crawler müssen sich nicht daran halten, wie du ja schon festgestellt hast.

    Kommentar


    • #3
      Zitat von nebbiolo Beitrag anzeigen
      Können Passwort geschützte Seiten einfach so abgefragt werden?
      Wie denn? Sie sind doch passwortgeschützt.
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Zitat von hausl Beitrag anzeigen

        Wie denn? Sie sind doch passwortgeschützt.
        indem benutzername und passwort irgendwo (im weiten netz) stehen, oder es einfach falsch konfiguriert ist, unbekannte optionenn angegeben werden oder die htACESS gar nicht gelesen wird.


        Kommentar


        • #5
          Ob die htaccess gelesen wird bestimmt nicht der Client dann wäre das ja sinnlos. Somit kann es nur eine von den anderen Optionen sein die du aufzählst und dafür ist er dann selbst verantwortlich.
          The string "()()" is not palindrom but the String "())(" is.

          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            Ich kann da keine htacess Datei herauslesen, er schreibt nur was von einer robots.txt. Wahrscheinlich liegt da die Verwechselung vor.

            Kommentar


            • #7
              Vielen Dank für Eure Ausführungen!
              Als "Laie" bin ich schon ein wenig irritiert ... was machst denn ein Crawler genau? Ich habe im Log auf dem WebServer folgenden Eintag gefunden:
              5.9.6.51 - - [02/May/2019:02:18:35 +0200] "GET /gck/xxx.php?code=xxx HTTP/1.0" 302 2561 "-" "Mozilla/5.0 (compatible; MegaIndex.ru/2.0; +http://megaindex.com/crawler)"
              wobei xxx fiktiv ist. Diese Seite braucht ein Passwort, in meinem persönlichen Log wo ich alle "Aufrufe/Mutationen der Daten" ablege, sehe ich dass kein Passwort verwendet wurde.
              Ich habe (hatte) wirklich kein htaccess - liegt es daran?

              Kommentar


              • #8
                Was ist das Passwort überhaupt wert, wenns dann eh jeder ohne Passwort aufrufen kann? Wozu überhaupt ein Passwort?

                Das ist so als würde man einen Schlüssel kaufen, ihn neben eine Tür legen und annehmen, die Tür sei jetzt verschlossen.

                Kommentar


                • #9
                  Zitat von hellbringer Beitrag anzeigen
                  Wozu überhaupt ein Passwort?
                  Eben um die Seite zu schützen! Also ich kann die Seite ohne PW nicht aufrufen -> ich werde auf das login.php verwiesen. Im php frage ich ab ob in der Session ein Name vorhanden ist - wenn nicht -> login. Die Seite wurde aber ohne PW gecrawlt.

                  Kommentar


                  • #10
                    Zitat von nebbiolo Beitrag anzeigen
                    Eben um die Seite zu schützen! Also ich kann die Seite ohne PW nicht aufrufen -> ich werde auf das login.php verwiesen. Im php frage ich ab ob in der Session ein Name vorhanden ist - wenn nicht -> login. Die Seite wurde aber ohne PW gecrawlt.
                    Es gibt drei Möglichkeiten:

                    1. Es liegt ein Fehler im PHP-Code vor, der ein Aufruf ohne Passwort ermöglicht.
                    2. Der Crawler ist irgendwie an eine gültige Session-ID gekommen.
                    3. Der Crawler ist irgendwo an das Passwort gelangt.

                    So oder so, du hast ein gravierendes Sicherheitsproblem.

                    Also was du machen solltest:

                    1. Passwort ändern.
                    2. Schauen, ob irgendwo eine Session-ID sichtbar ist (zum Beispiel in der Adressleiste oder in einem Link). Das darf nämlich nicht sein.
                    3. Den PHP-Code auf Sicherheitslücken analysieren.

                    Kommentar


                    • #11
                      Also 2 und 3 kann ich mir nicht vorstellen, denn dann würde ich das verwendete Passwort im Log sehen.
                      Meine session.php sieht wie folgt aus:
                      PHP-Code:
                      session_start();
                      session_cache_limiter(600);
                      $uname $_SESSION['user_name'];
                      $sland $_SESSION['sland'];
                      $sreg  $_SESSION['sreg'];
                      $sltxt $_SESSION['sltxt'];
                      $srtxt $_SESSION['srtxt']; 
                      Und bei den Scripts habe ich immer ganz am Anfang:
                      PHP-Code:
                      include ("session.php");
                      if (
                      $uname "#")
                         {
                         
                      $parameter "Location: http://www.xxx.com/login.php";
                         
                      header($parameter);
                         } 
                      Liegt da irgend ein Fehler oder Sicherheitslücke vor?

                      Kommentar


                      • #12
                        Was bitte soll $uname < "#" sein?

                        Davon abgesehen, wie geht der Code weiter? Und wieso ist der Code so unleserlich kryptisch und unverständlich geschrieben? Damits unnötig schwieriger wird?

                        Kommentar


                        • #13
                          # ist das kleinste erlaubte (sichtbare) Zeichen - also grösser als leer/null/blank
                          Der Code ist dann unterschiedlich je nach Script ... aber sollte ja egal sein, denn wenn im $uname kein Zeichen wäre wird man zum login geleitet - das sollte ja nicht übersprungen werden können.

                          Kommentar


                          • #14
                            Zitat von nebbiolo Beitrag anzeigen
                            # ist das kleinste erlaubte (sichtbare) Zeichen - also grösser als leer/null/blank
                            Ein is_string($username) && $username !== '' ist da wesentlich einfacher und verständlicher als sowas.

                            Zitat von nebbiolo Beitrag anzeigen
                            Der Code ist dann unterschiedlich je nach Script ... aber sollte ja egal sein, denn wenn im $uname kein Zeichen wäre wird man zum login geleitet - das sollte ja nicht übersprungen werden können.
                            Man sieht ja den restlichen Code nicht. Also keine Ahnung was da passiert. Ein header() alleine verhindert ja nicht die Ausgabe der Seite.

                            Kommentar


                            • #15
                              Zitat von hellbringer Beitrag anzeigen
                              Ein header() alleine verhindert ja nicht die Ausgabe der Seite.
                              Wenn die Seite aufgerufen wird wird doch dieser Befehl ausgeführt und wenn $uname nicht vorhanden auf das login verwiesen ...
                              Was müsste ich den mehr machen um die Ausgabe der Seite zu verhindern?

                              Kommentar

                              Lädt...
                              X