Seiten Password

  • #1
C

caballonegro

Mitglied
Themenersteller
Dabei seit
13.10.2004
Beiträge
19
Reaktionspunkte
0
Hallo,
ich habe hier schon nachgelesen, es gibt zwei ähnliche Themen zu PHP_AUTH_USER , doch leider kann man da nichts mehr zufügen. deswegen hier ein neues Thema


Ich habe genau diesen Code in einem Script um ein file upload.php zum hochladen von Bildern  zu schützen.


Code:
if ( (!isset($PHP_AUTH_USER)) || ! (($PHP_AUTH_USER == $LOGIN) && ( $PHP_AUTH_PW == $PASSWORD )) ) {
	header(WWW-Authenticate: Basic entrer=\Form2txt admin\);
	header(HTTP/1.0 401 Unauthorized);
	error(Unauthorized access...);
}

die Variablen
$LOGIN = Benutzername;
$PASSWORD = Passwort;

werden über einen include config.php gesetzt.

Das ganze hat super funktioniert bis ich heute damit auf den 1+1 Server umgezogen bin.

Jetzt geht es nicht mehr
Es lässt mich trotz richtigem usernamen und richtigen passwort nicht mehr mein upload script starten. 
Die Hotline von 1und1 verweist mich auf die extrem günstige 09001000415 Nummer um mir dann 1,-Euro pro Minute abzuzocken.

Wer weiß Rat warum das bei 1u.1 nicht mehr geht ??


Gruß
 
  • #2
Das liegt wahrscheinlich an den Sicherheitseinstellungen von 1&1, versuchs mal so:

Code:
if ( (!isset($SERVER['PHP_AUTH_USER'])) || ! (($SERVER['PHP_AUTH_USER'] == $LOGIN) && ($SERVER['PHP_AUTH_PW'] == $PASSWORD )) ) {
header(WWW-Authenticate: Basic entrer=\Form2txt admin\);
header(HTTP/1.0 401 Unauthorized);
error(Unauthorized access...);
}

mehr zu dem thema findest du hier: :)
 
  • #3
Hallo Exe,
habe es probiert, es funzt mit deinem Vorschlag leider nicht.....

Schade.... dennoch vielen Dank

Ich habe übrigens einmal deinen Vorschlag auf dem alten Serverplatz versucht, dort funktionierte es leider auch nicht .

Was für ein Elend,
da will man mal kurz so eine simple Bildergalerie vom Server X nach Server Y übertragen und handelt sich nichts als Ärger ein ..... gr........
 
  • #4
ah tut mir leid hatte da nen tippfehler drinn, so gehört's:

Code:
if ( (!isset($_SERVER['PHP_AUTH_USER'])) || ! (($_SERVER['PHP_AUTH_USER'] == $LOGIN) && ($_SERVER['PHP_AUTH_PW'] == $PASSWORD )) ) {
header(WWW-Authenticate: Basic entrer=\Form2txt admin\);
header(HTTP/1.0 401 Unauthorized);
error(Unauthorized access...);
}

hoffe mal das klappt so ;)
 
  • #5
Hallo Exe,
danke für die Korrektur.

Habe gehofft das es nun geht, aber leider immer noch nicht auf dem neuen 1 u. 1 Server.

Auf dem alten Serverplatz läuft deine Korrektur nun, von daher denke ich,
das dort von dir nichts falsch sein kann.

Was hat sich 1 u 1 hier nur einfallen lassen das das nicht funktioniert ??
 
  • #6
Hoffentlich versteht das nun einer...
Mein Hoster 1und1 hat geantwortet.....

[sup]Sehr geehrter Herr,

dies ist nicht möglich, da PHP bei uns als CGI ausgeführt wird.
In dieser Konstellation ist es nicht möglich diesen Header zu senden.
Wir bitten um Ihr Verständnis.[/sup]


Mir ist jetzt nicht klar welche alternative man zur Ausführung als CGI hat und was ist nun besser oder schlechter für mich als User??
Wer kennt sich mit diesem ganzen Hickhack so aus, das er das bitte einmal erjklären kann
Mein Ursprünliches Problem habe ich inzwischen durch neuen Code gelöst.

Die zu schützende datei bekommt ein : include('auth.php');  zugefügt

die auth.php sieht so aus:
Code:
<?php
     session_start();

     $hostname = $_SERVER['HTTP_HOST'];
     $path = dirname($_SERVER['PHP_SELF']);

     if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {
      header('Location: http://'.$hostname.($path ==->/' ?->' : $path).'/login.php');
      exit;
      }
?>
die login.php so:
Code:
<?php

require('config.php');


if ($_SERVER['REQUEST_METHOD'] ==->POST') {
	session_start();

	$username = $_POST['username'];
	$passwort = $_POST['passwort'];

	$hostname = $_SERVER['HTTP_HOST'];
	$path = dirname($_SERVER['PHP_SELF']);

	// Benutzername und Passwort werden überprüft

// entweder so mit direkter eingabe der  erlaubten Daten....	
             //if ($username ==->benjamin' && $passwort ==->geheim')

//oder so...... 
                if ($username == $LOGIN && $passwort == $PASSWORD)

	{
		$_SESSION['angemeldet'] = true;

		// Weiterleitung zur geschützten Startseite
		if ($_SERVER['SERVER_PROTOCOL'] ==->HTTP/1.1') {
			if (php_sapi_name() ==->cgi') {
				header('Status: 303 See Other');
			}
			else {
				header('HTTP/1.1 303 See Other');
			}
		}
// wenn eine korreckte Eingabe erfolgte gehts hier weiter zu meiner geschützten Datei (upload.php)
		header('Location: http://'.$hostname.($path ==->/' ?->' : $path).'/upload.php');
		exit;
	}
}
?>


<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN [url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd>[/url]
<html xmlns=[url]http://www.w3.org/1999/xhtml[/url] xml:lang=de lang=de>
 <head>
  <title>Geschützter Bereich</title>
 </head>
 <body>
 <table border=0   width=100% id=AutoNumber1 height=610>
    <tr>
      <td width=100% align=center height=608>
      <form action=login.php method=post>
      <table border=0  width=30% >
        <tr>
          <td width=50><b><font face=Verdana>Username:</font></b></td>
          <td width=120><input type=text name=username /></td>
        </tr>
        <tr>
          <td width=50><b><font face=Verdana>Passwort:</font></b></td>
          <td width=120><input type=password name=passwort/></td>
        </tr>
      </table>


  
   <br />
     <br />
   <input type=submit value=Benutzerdaten absenden />
  </form>
  
  </td>
   </tr>
  </table>

 </body>
</html>

Wer kann eigentlich mal die Unteschiede zum Serverprotokoll erklären..
Code:
<?php
          if ($_SERVER['SERVER_PROTOCOL'] ==->HTTP/1.1') {
			if (php_sapi_name() ==->cgi') {
				header('Status: 303 See Other');
			}
			else {
				header('HTTP/1.1 303 See Other');
			}
		}?>

und wer lust hat kann dann noch eien logoff.php installieren.
Code:
<?php
     session_start();
     session_destroy();

     $hostname = $_SERVER['HTTP_HOST'];
     $path = dirname($_SERVER['PHP_SELF']);

     header('Location: http://'.$hostname.($path ==->/' ?->' : $path).'/login.php');
?>


<html>
<br><br>
<br><br> go to <a href=upload.php>upload</a> 
<br><br> go to <a href=index.php>Galerie</a> 
<br><br> go to <a href=delete_pic.php>Lösche einzelnes Bild</a>
<br><br> go to <a href=login.php>Anmelden</a>
</body>
</html>

Natürlich kann man das jetzt noch ausschmücken,
zb. mit einer Fehlermeldung wenn die Daten nicht stimmen.
Hat da jemand eine Idee ??
 
Thema:

Seiten Password

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben