Ankündigung

Einklappen
Keine Ankündigung bisher.

Inselkampf.de Login

Einklappen

Neue Werbung 2019

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

  • Inselkampf.de Login

    Hiho!

    Möchte für meine Alli bei Inselkampf (vielleicht kennts ja jemand!?) n Tool bauen, das ein paar Daten ausliest. Mit dem auslesen das klappt bei "normalen" Seiten recht gut. Mein Prob bei Inselkampf ist der Login... Eingeloggt wird über ein ganz normales Formular, das etwas abgespeckt so aussieht:

    Code:
    <form action="http://www.inselkampf.de/index.php?action=login" method=POST>
    <input type="text" name="member">
    <input type="password" name="pwd">
    <select name="server">
    <option value="5">Server 5</option>
    </select> 
    <input type="submit" value="anmelden">
    </form>
    Um die gewünschten Daten auslesen zu können, muss ich eingeloggt sein, also hab ich folgendes versucht:

    Code:
    $_POST['member'] = "Benutzername";
    $_POST['pwd'] = "Passwort";
    $_POST['server'] = "5";
    
    $file = fopen("http://www.inselkampf.de/index.php?action=login","r");
    $inhalt = fread($file,999999);
    echo $inhalt;
    ...geht nur leider nicht und ich weis net warum ...schaut irgendwie so aus, als ob das Script die $_POST Var's nicht richtig übermitteln würde...

    es erscheint folgende Fehlermeldung:

    Code:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/local/apache/htdocs/index.php on line 56
    
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/local/apache/htdocs/index.php on line 57
    Falscher Spielername oder falsches Passwort!
    Das selbe kommt auch, wenn man direkt (ohne irgend ein Script) auf http://www.inselkampf.de/index.php?action=login zugreift (ich denke der Fehler kommt daher, dass die $_Post Variablen komplett leer sind, genau was ich bei meinem Script vermute).

    Hat jemand ne Idee wo der Fehler liegen könnte?

    Grüße,
    Microfire


  • #2
    Re: Inselkampf.de Login

    Zitat von Microfire
    Hat jemand ne Idee wo der Fehler liegen könnte?e
    So wie du dir das vorstellst wird das nicht klappen.
    Wenn du in deinem Script irgendwelche $_POST-Variablen deklarierst kommen die logischerweise nicht "bei inselkampf" an.

    Du könntest irgendwie mit fsockopen was probieren - aber damit kenn ich mich nicht aus.

    Wenn das Script von inselkampf schlampig programmiert ist (sprich register_globals=on und das ist bei denen glaube ich der Fall) reicht es auch die Variablen einfach an die URL anzuhängen und per GET zu übergeben:
    Code:
    $file = fopen("http://www.inselkampf.de/index.php?action=login&server=5&member=xxx&pwd=xxx","r");

    mfG
    werbegeschenk
    Create your own quiz show.

    Kommentar


    • #3
      Re: Inselkampf.de Login

      Zitat von Werbegeschenk
      Du könntest irgendwie mit fsockopen was probieren - aber damit kenn ich mich nicht aus.
      hm, ich leider auch nicht ...naja, muss ich mich mal n bissl mit beschäftigen :/

      Zitat von Werbegeschenk
      reicht es auch die Variablen einfach an die URL anzuhängen und per GET zu übergeben
      ...ne, das geht leider nur, wenn man einen sog. XXL Account hat, dann kann man sich mit den GET Variablen anmelden...

      Kommentar


      • #4
        egal, hab mir jetzt xxl geholt... aber an einer lösung wäre ich natürlich trotzdem noch interessiert

        Kommentar


        • #5
          Ich hab mal ein wenig rumexperimentiert, weil mich die Sache mal intressiert hat.

          Hab jetzt ein Beispiel aus den Kommentaren bei php.net zu fsockopen etwas umgebaut:

          Code:
          <?php
          $method="POST";
          $target="/index.php?action=login";
          $referer="http://referer.de";
          $server="inselkampf.de";
          $host="inselkampf.de";
          
          //Array mit allen Werten die du per POST übergeben willst.
          //also bei member deinen Namen angeben und bei pwd dein Passwort
          $posts = array ( 'member' => 'somevalue', 'server' => '5', 'pwd' => 'somevalue' );
          
          //Das Array aufbereiten
          if (is_array($posts)) {
             foreach( $posts AS $name => $value ){
                 $postValues .= urlencode( $name ) . "=" . urlencode( $value ) . '&';
             }
             $postValues = substr( $postValues, 0, -1 );
             $method = "POST";
          } else {
             $postValues = '';
          }
          
          
          //Zum Server verbinden
          $fp = fsockopen($server, 80, $errno, $error, 5);
          
          //Falls fehler auftritt:
              if(!$fp) {
                  echo "Konnte keine Verbindung zum Rechner aufbauen";
                  echo $error."(".$errno.")";
                  die();
              }
          
            
          $request  = "$method $target HTTP/1.1\r\n";
          $request .= "Host: $host\r\n";
          $request .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.5) Gecko/20031007\r\n";
          $request .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1\r\n";
          $request .= "Accept-Language: de,de-at;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
          $request .= "Accept-Encoding: gzip,deflate\r\n";
          $request .= "Accept-Charset: ISO-8859-15,utf-8;q=0.7,*;q=0.7\r\n";
          $request .= "Keep-Alive: 300\r\n";
          $request .= "Connection: keep-alive\r\n";
          $request .= "Referer: $referer\r\n";
          
          if ( $method == "POST" ) {
             $lenght = strlen( $postValues );
             $request .= "Content-Type: application/x-www-form-urlencoded\r\n";
             $request .= "Content-Length: $lenght\r\n";
             $request .= "\r\n";
             $request .= $postValues;
          }
          
          
          $request .="\r\n";
          
          //Den Request an den Server schicken
          fwrite($fp, $request);
          
          //Content-Type zum Testen auf text/plain
          header('Content-Type: text/plain'); 
          
          
          
              while(!feof($fp)) {
                  $buffer = fread($fp, 1024);
                  //Für Ausgabe aufbereiten wegen text/plain:
          		$buffer = str_replace("\r\n", '\r\n'."\n", $buffer);
                  echo $buffer;
              }
          
          	//Verbindung schließen
              fclose($fp); 
          ?>
          Ist aber bestimmt saumäßig umständlich - hab mich gerade zum ersten mal mit sowas befasst.

          mfG
          werbegeschenk
          Create your own quiz show.

          Kommentar


          • #6
            coool! danke, das muss ich mal testen

            Kommentar


            • #7
              bin auch bei IK... Biste Server 5??
              Was willste denn genau auslesen??

              Kommentar


              • #8
                Vielleicht hilft dies dabei.

                Kommentar


                • #9
                  Zitat von mischspeed
                  bin auch bei IK... Biste Server 5??
                  Was willste denn genau auslesen??
                  jo s5... die mitgliederliste der allianz & die top 10's...

                  @mag2002de:
                  hm, muss ich auch mal ausprobieren, mein webspace is nur grad down, deshalb kann ich nix machen... ich meld mich wenns geht...

                  Kommentar


                  • #10
                    Argh mist, also irgendwie krieg ichs net hin mich da über so n post request fake einzuloggen Hab euch mal n Test Account angelegt, damit Ihr wisst worum's geht:

                    http://www.inselkampf.de
                    Spieler: dummy1
                    Passwort: yq55t9
                    Server: 5

                    Wäre echt seeehr dankbar, wenn Ihr mir Tipps (oder wer grad nix zu tun hat vll. sogar n fertigen code ) geben würdet

                    Grüße,
                    Microfire

                    Kommentar

                    Lädt...
                    X