php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.04.2006, 14:46  
Gast
 
Beiträge: n/a
Standard http-request ?

Hallöle,

bin bei PHP auf ein kleines Problemchen gestossen und
nerve hier mal mit gaaanz viel Text.

Ausgangssituation:
Es sind drei Dateien vorhanden.
1.) form.php (enthält ein Eingabefeld)
2.) auswertung.php (enthält die Auswertung der Eingabe)
3.) begriffe.txt (ist zunächst leer)

Quellcode form.php
Code:
<html>
	<head>
		<title>Test</title>
	</head>
	<body>
		<form action='auswertung.php' method='POST'>
			<input type='text' name='EingabeFeld'>
			<input type='submit' value='senden'>
		</form>
	</body>
</html>
Quellcode auswertung.php
Code:
<html>
	<head>
		<title>Test</title>
	</head>
	<body>
		
		<?
			$datei=fopen("begriffe.txt",a);
		
			if($_POST["EingabeFeld"] == "hoschie")
			{
				fwrite($datei,"Richtiges Wort: ");
				fwrite($datei,$_POST["EingabeFeld"]);
				echo "Richtiges Wort: ".$_POST["EingabeFeld"]."
";
			}
			else
			{
				fwrite($datei,"Falsches Wort: ");
				fwrite($datei,$_POST["EingabeFeld"]);
				echo "Falsches Wort: ".$_POST["EingabeFeld"]."
";				
			}

			fwrite($datei,"\n");
			fclose($datei);
		?>
		
	</body>
</html>
Beschreibung der Funktionsweise:
In der ersten Datei (form.php) gebe ich in des Formularfeld einen Begriff ein.
In der zweiten Datei (auswertung.php) überprüfe ich, ob die Eingabe dem Begriff
'hoschie' entspricht.
Wenn dem so ist, wird auf dem Bildschirm folgendes ausgegeben:
Richtiges Wort: hoschie
Wobei der Begriff hoschie hier der übergebene Wert der Variable EingabeFeld ist.
Zusätzlich schreibe ich die Bildschirmausgabe noch in eine Textdatei.
Sollte die Eingabe nicht dem Begriff 'hoschie' entsprechen wird
Falsches Wort: (Wert der Variable EingabeFeld) ausgegeben und ebenfalls in die
Textdatei geschrieben.
Auf diese Weise logge ich quasi mit, welche Begriffe so eingegeben wurden.
Natürlich weiss ich nicht, wer welchen Begriff eingab...aber das soll an dieser
Stelle auch keine Rolle spielen.

Soweit läuft alles und stellt auch kein Problem dar.

Wie sieht es aber aus, wenn ich die Eingabe automatisieren will?
Nehmen wir mal an, dass ich eine Textdatei habe, die drei Wörter enthält:
hallo
hoschie
moin

Ist es möglich der Reihe nach die Begriffe an das Formularfeld zu senden und
damit eine Eingabe vorzutäuschen ?
Ich ziele hier ganz klar auf Brute-Force ab, denn wenn so etwas funktioniert,
dann werde ich mir natürlich 'irgend einen' Schutz überlegen müssen.
...ist aber erstmal Zukunftsmusik, jetzt geht es mir nur um das Prinzip.

Im Internet habe ich etwas zum Thema HTTP-Request gefunden.
Wenn ich darüber Daten an das Formularfeld sende, bleibt die Variable des
Formularfeldes leer. Das heisst, dass meine Abfrage in der zweiten Datei
(abfrage.php) sinnlos ist, da ja nichts übermittelt wurde.

Hier mal die Datei request.php
Code:
<html>
	<head>
		<title>Test</title>
	</head>
	<body>
		
		<?
			function PostToHost($host, $path, $data_to_send)
			{
  				$fp = fsockopen($host, 80);
				fputs($fp, "POST $path HTTP/1.1\r\n");
				fputs($fp, "Host: $host\r\n");
				fputs($fp, "Connection: close\r\n\r\n");
				fputs($fp, $data_to_send);
				while(!feof($fp))
				{
			    	$res .= fgets($fp, 128);
				}
				fclose($fp);
				return $res;
			}
		
			$lines = file ('begriffe.txt');
		
			foreach ($lines as $nr => $line)
			{
				echo "Wert von line: ".$line."
";
				$EingabeFeld = $line;
				echo "Wert des HTTP-Requests (x):
";
				$x=PostToHost("www.tresenwalzer.de","/test/auswertung.php",$EingabeFeld);
				echo "Das ergibt...
";
				echo "Wert von x: ".$x."
";
				echo "EOF

";
			}
		?>
		
	</body>
</html>
Bei der request.php steige ich überhaupt noch nicht durch.
Habt Ihr eine Seite parat, die solche Dinge gut erklärt?
Der Code ist komplett geschnorrt und das soll natürlich nicht sein.

Wie unwschwer zu erkennen ist, habe ich die Seiten in der beschriebenen Form
online. Wenn ich meine request.php aufrufe, dann erhalte ich folgende Ausgabe:

Wert von line: hallo
Wert des HTTP-Requests (x):
Das ergibt...
Wert von x: HTTP/1.1 200 OK Date: Sun, 02 Apr 2006 12:22:36 GMT Server: Apache/1.3.19 (Unix) (SuSE/Linux) Connection: close Transfer-Encoding: chunked Content-Type: text/html 89
Wert von EingabeFeld:
Falsches Wort:
0
EOF

Wert von line: hoschie
Wert des HTTP-Requests (x):
Das ergibt...
Wert von x: HTTP/1.1 200 OK Date: Sun, 02 Apr 2006 12:22:36 GMT Server: Apache/1.3.19 (Unix) (SuSE/Linux) Connection: close Transfer-Encoding: chunked Content-Type: text/html 89
Wert von EingabeFeld:
Falsches Wort:
0
EOF

Wert von line: moin
Wert des HTTP-Requests (x):
Das ergibt...
Wert von x: HTTP/1.1 200 OK Date: Sun, 02 Apr 2006 12:22:36 GMT Server: Apache/1.3.19 (Unix) (SuSE/Linux) Connection: close Transfer-Encoding: chunked Content-Type: text/html 89
Wert von EingabeFeld:
Falsches Wort:
0
EOF

Ich habe in der Datei auswertung.php als erste PHP-Codezeile noch
Code:
echo "
Wert von EingabeFeld: ".$_POST["EingabeFeld"]."
";
eingefügt. In der Ausgabe ist zu sehen, dass die Variable EingabeFeld leer bleibt.

Wie also bekomme ich nun die Daten der Textdatei 'rüber'geschoben an die auswertung.php ?
Natürlich möchte in der Datei auswertung.php keine Änderung von Variablen-Namen vornehmen.
Es soll nach wie vor die Variable EingabeFeld abgefragt werden.

Danke fürs Lesen...

Dickus
[/code]
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.04.2006, 15:13  
Gast
 
Beiträge: n/a
Standard Re: http-request ?

Zitat:
Zitat von Dickus
Ist es möglich der Reihe nach die Begriffe an das Formularfeld zu senden und damit eine Eingabe vorzutäuschen?
Ja.
25.2. Wie kann ich einen HTTP POST-Request absenden?
http://www.php-faq.de/q/q-code-post.html

http://de2.php.net/curl

Zitat:
Ich ziele hier ganz klar auf Brute-Force ab, denn wenn so etwas funktioniert, dann werde ich mir natürlich 'irgend einen' Schutz überlegen müssen.
Dann fang gleich mit den Überlegungen an.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Was ist mit GET http request gemeint? cyberholic PHP Tipps 2008 6 03.05.2008 12:09
HTTP Request über Proxyserver leiten blaus PHP-Fortgeschrittene 4 04.04.2008 07:59
HTTP Request per PHP lahmt, Rückgabe nur NULL Schaelle PHP-Fortgeschrittene 0 21.09.2005 16:42
HTTP request failed! HTTP/1.1 403 Forbidden in... PHP Tipps 2005-2 5 04.07.2005 01:46
[Erledigt] HTTP Request absetzen und Antwort auswerten PHP-Fortgeschrittene 1 02.07.2005 13:16
HTTP request failed! PHP Tipps 2005-2 20 19.06.2005 02:28
script nicht über HTTP Request seven-12 PHP Tipps 2005-2 6 10.06.2005 12:45
php script nicht über HTTP Request starten seven-12 PHP-Fortgeschrittene 3 09.06.2005 22:14
HTTP request failed! HTTP/1.1 500 Internal Server Error Datenbanken 6 28.01.2005 14:54
HTTP Login Request PHP Tipps 2004-2 1 16.12.2004 12:30
HTTP Request - hilfe dringend benötigt! PHP Tipps 2004-2 3 09.11.2004 20:23
Shoutcast server abfrage mittels ein http header request PHP Tipps 2004 0 30.10.2004 18:05
HTTP - Request Stümper PHP Tipps 2004 7 27.08.2004 22:38
http header verändern - script zum browser machen PHP Tipps 2004 11 06.07.2004 17:43
HTTP Post mit PHP (Stream Funktionen) PHP-Fortgeschrittene 12 04.06.2004 11:16

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http request php, php javascript request erkennen, curl 403 abfangen, php httprequest content auswerten, posttohost antwort http/1.1 200 ok aber keine variablen inhalt, http request variablen auswerten php, php http request failed abfangen, htm request shoutcast, httprequest datei, php proxy abfragen nach http/1.1 200 ok, http/1.1 200 ok abfragen mit php, wie sieht ein http request aus, mit http request aus datei lesen, http request begriffe, test http/request.php, http request abfragen php, javascript ausgabe http request, php fputs head http 1.1, php posttohost server error 500, php header variablen abfragen httprequest

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:29 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.