Die Mitgliedschaft ist KOSTENLOS und bietet allen registrierten Nutzern unbegrenzten Zugriff auf alle Funktionen, Ressourcen und Tools von ConsultDomain.de! Optionale Mitgliedschaftsupgrades schalten exklusive Vorteile frei, wie Profil-Signaturen mit Links, Bannerplatzierungen, Erwähnungen im wöchentlichen Newsletter und vieles mehr – individuell angepasst an Ihr Mitgliedschaftslevel!

Willkommen!

Durch Ihre Registrierung bei uns können Sie mit anderen Mitgliedern unserer Community diskutieren, teilen und private Nachrichten austauschen.

Jetzt anmelden!

Problem mit php3

promo-channel

Gesperrt
Registriert
15. Juni 2004
Beiträge
190
Hallo,

ich habe einen Login eingerichtet und möchte natürlich das die geschützte Datei nicht direkt per HTTP aufgerufen werden kann. Also habe ich folgendes zwischen die Head-Befehle gesetzt:

<?
if ($nme!="user" && $ppwwdd!="passwort"):
echo "Zugriff verweigert! Bitte benutzen Sie den Login.";
exit;
endif;
?>

Und siehe da, man kann die Datei nicht mehr direkt aufrufen. Leider auch nicht mehr per Login. Denn da bekomme ich das ""Zugriff verweigert! Bitte benutzen Sie den Login." auch zu lesen.

Was ist an diesem Script falsch?

Ich hoffe das jemand hier mir die Lösung nennen kann.

Gruß, Jens
 
Hallo Kinski,

danke für die Links. Leider geht es bei einem um ein Java-Script(zu unsicher da Seiten direkt geladen werden können) und bei dem andenen um cgi(kann ich in meinem Tarif leider nicht nutzen). Also der Login funktioniert einwandfrei, leider nur ohne das oben genannte Script.

Gruß, Jens
 
Hallo Jens,

ich muss zugeben, dass ich keinen blassen Schimmer von PHP habe, aber als Denkanstoß:

Das Schripting in deinem Head-Teil ist nachvollziehbar, aber ich vermisse in deiner Schleife das "ELSE". Wenn ich das so oder ähnlich mit ASP mache, würde meiner Meinung nach das gleiche wie bei dir passieren. Probiere mal (wie gesagt, ich kenne die PHP-Syntax nicht) folgendes:

IF
(login ist NICHT ok)
THEN
(echo, bla bla bla, Zugriff verweigert usw.)
ELSE
(login ist ok)
Deine HTML-Seite wird angezeigt (In ASP schreibe ich die HTML-Seite NACH dem END IF dann überwiegend mit "response.write" ... mit PHP schreibt man das sicherlich anders.)
END IF

Nochmal, ich kenne PHP nicht, aber so funktionieren Schleifen normalerweise.

Wenn dir das nicht weiterhilft, sorry, war nur ein Gedanke meinerseits.  ;)

Viele Grüße
Oliver
 
Ich hab mal nachgelesen, könnte ungefähr so gehen:

<?
if ($nme!="user" && $ppwwdd!="passwort"):
echo "Zugriff verweigert! Bitte benutzen Sie den Login.";
else
print "<h1>Das was der richtige LOGIN</h1>";    (oder echo?)
endif;
?>

Wobei zwischen "else" und "endif" deine gesamte HTML-Seite incl Parameter usw. stehen kann.

Hilft es ?

Viele Grüße
Oliver
 
Hallo Jens,

deinem Skript sind die Variablen $nme und $ppwwdd nicht bekannt.

Wenn Du nach dem Login das Skript aufrufst :

<form action="skript.php" method="POST">
<input type=text name="nme" ...
[...]
</form>

Dann fehlt Dir in skript.php nur der Eintrag:
global $nme,$ppwwdd;
mit dem Du die Variablen aus dem globalen Raum holst.

Gruss,

Ruediger
 
Hallo,

Vielen Dank für eure Antworten.

@Rüdiger: Ich habe es probiert und umgebastelt wie es nur irgendwie möglich war. Es funzt nicht. Trotzdem Danke.

@Kinski: Der letzte Link ist echt klasse. Danke Dir. Ich werde wahrscheinlich den Tarif wechseln da ich mit Datenbankanbindung viel mehr Möglichkeiten habe. Und da ist SecurityTool 2.0 optimal glaube ich. Zumal sich die geschützten Daten in Tabellen dann auch viel einfachér verwalten lassen.

Gruß, Jens
 
hallo Jens


<?
if ($nme!="user" && $ppwwdd!="passwort"):
echo "Zugriff verweigert! Bitte benutzen Sie den Login.";
exit;
endif;
?>

du kannst das so machen:
<?
if
($name!="user" && $ppwwdd!="passwort")
{
echo("Zugriff verweigert! Bitte benutzen Sie den Login.");
exit;
}
?>

das reicht.

du mußt jetzt nur dafür sorgen das die werte auch übergeben werden.

gruß jens
 
Passwortschutz in einer Zeile:

<? if ($name!="user" OR $ppwwdd!="passwort") { echo "Zugriff verweigert!"; exit; } ?>

Das && habe ich in OR umgewandelt, da man sonst auch nur mit einem korrekten Username reinkommt.

Nikolai Tiedemann
www.united-domains.de
 
ja, war ein kleiner fehler
klar muß es or heißen


das liegt daran das ich es immer so schreibe

<?
if($passwort=="passwort" && $user=="user")
{
}
else
{
echo("nein");
exit;
}

?>

gruß jens
 

Who has viewed this thread (Total: 1) Details anzeigen

Neueste Themen

Beliebte Inhalte

Besonderer Dank

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
68.348
Beiträge
377.385
Mitglieder
6.777
Neuestes Mitglied
tedcars
Zurück
Oben