php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Jobs und Projekte > Projekthilfe
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 22-10-2007, 14:23
browny
 Newbie
Links : Onlinestatus : browny ist offline
Registriert seit: Oct 2007
Beiträge: 9
browny ist zur Zeit noch ein unbeschriebenes Blatt
Standard Passwortschutz

Moin moin,

ich habe die Aufgabe ein bereits komplettes
Script zu bearbeiten und nach Möglichkeit zu verbessern.

Dabei handelt es isch um den ersten Teil eines Arbeitskarten Systems.
Teil1:Passwortschutz

Es dränegn sich mir ein paar fragen bei der Funktion mancher Zeilen auf:

PHP-Code:
<?php
  $PASSWORT 
"bitteaendern";
?>
am anfang wird zwar diese Variable gesetzt, jedoch
scheint diese nicht wirklich berücksichtigt zu werden.

PHP-Code:
<?php
if ($param_passwd) {
if (
$param_passwd != $PASSWORT) {
echo 
"<h2>Das Passwort war falsch!</h2>"//Ausgabe der Fehlermeldung; bei Fehleingabe
} else {
?>
Diese Stelle soll meiner Ansicht nach die Meldung "Passwort Falsch!" ausgeben, sollte das eingegeben nicht mit dem in der Variabel
gesetzten Wort übereinstimmen..dies ist allerdings nicht der fall.

Mein Problem ist:
Selbst nach falscher Passworteingabe wird man zu der
eigentlich geschützen Seite weitergeleitet.

Ich habe die SuFu auf der Suche nach einem ähnlichen Problem genutzt,
allerdings scheint mein Problem zu einfach zu sein :P
Bin ein ziemlicher Anfänger, beschäftige mich seit 2tagen erst ausführlich mit der Sache. Wäre gut wenn jemand sich Zeit nehmen könnte mir
zu sagen was die Ursache meines Problems ist.
Mit Zitat antworten
  #2 (permalink)  
Alt 22-10-2007, 14:28
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Diese Stelle soll meiner Ansicht nach die Meldung "Passwort Falsch!" ausgeben, sollte das eingegeben nicht mit dem in der Variabel
gesetzten Wort übereinstimmen..dies ist allerdings nicht der fall.
Dann mach in dem Teil, in den du immer reinkommst mal das folgende
PHP-Code:
var_dump($param_passwd,$PASSWORT);
exit; 
und vergleiche die Ausgaben. Müssten dann ja wohl übereinstimmen...

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #3 (permalink)  
Alt 22-10-2007, 14:30
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich gehe schwer davon aus, dass

$param_passwd

nicht gesetzt ist.

bau mal ein:

PHP-Code:
<?php

echo "uebergebenes passwort lautet: ".$param_passwd;

if (
$param_passwd) {
if (
$param_passwd != $PASSWORT) {
echo 
"<h2>Das Passwort war falsch!</h2>"//Ausgabe der Fehlermeldung; bei Fehleingabe
} else {
?>
ich wette, da kommt keins bei rum
__________________
**********
arkos
**********
Mit Zitat antworten
  #4 (permalink)  
Alt 22-10-2007, 14:47
browny
 Newbie
Links : Onlinestatus : browny ist offline
Registriert seit: Oct 2007
Beiträge: 9
browny ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke für die schnellen antworten,
ich habe jetzt zumindest mal die meldung
"Passwort Falsch!" gesehen, allerdings
kommt diese direkt beim laden der seite,
direkt über dem Eingabeformular.

Ich denke das ich zu wenig Informationen über mein Script
herausgegeben habe, darum ist hier jetzt ein ganzer Ausschnitt daruas, indem die Fehler liegen müssen.

Hier der Ausschnitt:

PHP-Code:
<?php
  $PASSWORT 
"bitteaendern";
?>

<html>
<head>
<title>Arbeitskarten Login</title>
</head>

<body bgcolor="white" text="black" link="red" vlink="darkblue" alink="cyan">
<?php 
if ($param_passwd != $PASSWORT)
echo 
"STFU";
?>

<h1 align="center">
<font color=#000000><u>Arbeitskarten Login</u></font>
</h1>

<?php

echo "uebergebenes passwort lautet: ".$param_passwd;

if (
$param_passwd) {
if (
$param_passwd != $PASSWORT) {
echo 
"<h2>Das Passwort war falsch!</h2>"//Ausgabe der Fehlermeldung; bei Fehleingabe
} else {
?>


<!-- es folgt nun: Fenster mit Arbeitskarten öffnen (das was in <script> xXx </script> steht) -->
<script>
function openpopup() {
var popurl = "arbeitskarte.php"
winpops = window.open(popurl,"","fullscreen=yes,left=NaN,top=NaN")
}
openpopup()
</script>

<?php
  
}
}
?>

</body>
</html>
Ich hoffe dadurch entsteht nun mehr Klarheit =)

Falls ihr die Lösung findet, wäre es nett mir noch zu erklären
weshalb es falsch ist und wie es richtig sein sollte.

(wurde in den beiden antworten ja auch schon gemacht, sage es nur
weil ich in anderen Foren - nicht php, aber auch support foren - schon so manch tolle lösungen ohne wirkliche hilfe als antworten bekommen habe)
Mit Zitat antworten
  #5 (permalink)  
Alt 22-10-2007, 14:52
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

error_reporting gemäß regeln auf E_ALL gestellt?

Dann solltest du eigentlich diverse "undefinierte Variablen" mitgeteilt bekommen, die es zuerst zu beheben gilt.


BTW: mit dem Zitat "Passwort Falsch!" meinst du sicher "Das Passwort war falsch!". Solche Kleinigkeiten sind entscheidend, wenn es darum geht, die richtige Stelle zu finden...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #6 (permalink)  
Alt 22-10-2007, 14:57
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

BTW: Wenn ich deinen Code ausführe, dann steht da nirgends "passwort falsch". Vermute also, dass das nicht so ist, wie du behauptest.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7 (permalink)  
Alt 22-10-2007, 15:00
browny
 Newbie
Links : Onlinestatus : browny ist offline
Registriert seit: Oct 2007
Beiträge: 9
browny ist zur Zeit noch ein unbeschriebenes Blatt
Standard

*nicht mehr so ist wie du behauptest

ich hab den unveränderten Code gepostet.

siehe hier (veränderte version):

PHP-Code:
<?php
  $PASSWORT 
"bitteaendern";
?>
<?php
  $param_passwd 
"bitteaendern2";
?>

<html>
<head>
<title>Arbeitskarten Instandhaltung (BDE)</title>
</head>

<body bgcolor="white" text="black" link="red" vlink="darkblue" alink="cyan">
<?php 
if ($param_passwd != $PASSWORT)
echo 
'onLoad="document.pass.param_passwd.focus();"';
?>

<h1 align="center">
<font color=#000000><u>Arbeitskarten Instandhaltung</u></font>
</h1>

<?php

echo "uebergebenes passwort lautet: ".$param_passwd;

if (
$param_passwd) {
if (
$param_passwd != $PASSWORT) {
echo 
"<h2>Das Passwort war falsch!</h2>"//Ausgabe der Fehlermeldung; bei Fehleingabe
} else {
?>


<!-- es folgt nun: Fenster mit Arbeitskarten öffnen (das was in <script> xXx </script> steht) -->
<script>
function openpopup() {
var popurl = "arbeitskarte.php"
winpops = window.open(popurl,"","fullscreen=yes,left=NaN,top=NaN")
}
openpopup()
</script>
<?php
  
}
}
?>

</body>
</html>
btw: das mit E_ALL war ganz gut. hatte wirklich vergessen die Variable
$param_passwd zu setzen, wie es auch zuvor von einem der Mitglieder die geantwortet haben angenommen wurde.

Geändert von browny (22-10-2007 um 15:04 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 22-10-2007, 15:08
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

*lol* auch sehr gut. Hauptsache du vergleichst zwei FEST DEFINIERTE Passwörter miteinander. Naja, immerhin ersparst du dem User so das eingeben eines Passwortes. Fragt sich nur, warum du den Code nicht gleich in die Tonne drückst!

Natürlich erscheint jetzt
Zitat:
Das Passwort war falsch!
Das ist aber auch kein Wunder, wenn man bedenkt, dass
PHP-Code:
<?php
  $PASSWORT 
"bitteaendern";
  
$param_passwd "bitteaendern2";
?>
zwei unterschiedliche Werte haben.

Bitte noch mal die Logik deines Codes übrprüfen. Das hat jetzt erstmal gar nichts mit PHP zu tun....
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #9 (permalink)  
Alt 22-10-2007, 15:21
browny
 Newbie
Links : Onlinestatus : browny ist offline
Registriert seit: Oct 2007
Beiträge: 9
browny ist zur Zeit noch ein unbeschriebenes Blatt
Standard

verdammt :P
also hab ich eine antwort missverstanden:
Es wurde ja gesagt das ich die Variable setzen soll,
nur dadurch setze ich ja dann direkt dass, was der User
eigentlich eingeben soll =O

Also muss ich diesen Teil:

PHP-Code:
<?php
  $param_passwd 
"XYZ";
?>
so einstellen, das er das einsetzt was der User eingibt
und das dann mit dieser Variable vergleicht:

PHP-Code:
<?php
  $PASSWORT 
"bitteaendern";
?>


so. nun ist der Vergleich an sich schon vorhanden:

PHP-Code:
<?php

echo "uebergebenes passwort lautet: ".$param_passwd;

if (
$param_passwd) {
if (
$param_passwd != $PASSWORT) {
echo 
"<h2>Das Passwort war falsch!</h2>"//Ausgabe der Fehlermeldung; bei Fehleingabe
} else {
?>
hier wird ja gesagt, wenn das Passwort NICHT dasselbe ist,
wie in $PASSWORT festgelegt, dann führt er echo aus, etc.


Ich verstehe allerdings nicht ganz wozu er an dieser Stelle das
PHP-Code:
echo "uebergebenes passwort lautet: ".$param_passwd
braucht. Wozu sollte das Passwort angezeigt werden das zuvor eingegeben wurde?
Um zu schauen ob man sich vertippt hat?

EDIT: und meine andere wichtige Frage wäre dann, wie man denn die Variable $param_passwd definieren soll, wenn die Ausgabe doch erst von User eingegeben wird.

Geändert von browny (22-10-2007 um 15:24 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 22-10-2007, 15:23
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

*move* nach Projekthilfe

Fertiger Code folgt:

PHP-Code:
<?php 

/**
 * Konfiguration
 */
error_reporting(E_ALL);

$password 'geheim';

?>

<html>

<head>
  <title>Braunies Passwortscript</title>
</head>

<body>

<h1>Braunies Passwortscript</h1>

<?php

if(!isset($_POST['password']) || $password != $_POST['password'])
{
    
    
// Fehlermeldung
    
echo '<p class="message">Das Passwort war falsch!</p>';
    
}
else
{

?>

<!-- es folgt nun: Irgend ein seltsamer JS-Code -->
<script type="text/javascript">
  var popurl = "arbeitskarte.php"
  winpops = window.open(popurl,"","fullscreen=yes,left=NaN,top=NaN")
</script>

<?php

}

?>

</body>
</html>
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #11 (permalink)  
Alt 22-10-2007, 15:26
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Hauptsache du vergleichst zwei FEST DEFINIERTE Passwörter miteinander.
Das wäre doch dann ganz einfach noch ausbaubar
OffTopic:

PHP-Code:
$passwort 'nichtaendern';
$passwort1 'aendern';
$passwort2 'nix';
$passwort4 'gewesen';
$passwort5 'ausserspesen';
if(
$param_passwd != $passwort1 && $param_passwd != $passwort2 && 
$param_passwd != $passwort3 && $param_passwd != $passwort4 && 
$param_passwd != $passwort5){
  die(
'Falsches Passwort');


__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #12 (permalink)  
Alt 22-10-2007, 15:29
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Es wurde ja gesagt das ich die Variable setzen soll,
Nein, es wurde gesagt, dass eine Variable NICHT gesetzt IST.

Zitat:
Also muss ich diesen Teil:
$param_passwd = "XYZ";
so einstellen, das er das einsetzt was der User eingibt
jain, denn dann kannst du ihn eigentlich gleich weglassen...

Zitat:
Ich verstehe allerdings nicht ganz wozu er an dieser Stelle das [PHP-Code] braucht.
WAS "braucht"???

Zitat:
Wozu sollte das Passwort angezeigt werden das zuvor eingegeben wurde?
Das ist natürlich ziemlich großer Unfug. Ich hatte gehofft, du hättest das nur zu Testzwecken gemacht.

Zitat:
EDIT: und meine andere wichtige Frage wäre dann, wie man denn die Variable $param_passwd definieren soll, wenn die Ausgabe doch erst von User eingegeben wird.
Dazu gibt es das globale Array $_POST. Aber das sind Grundlagen, die du dir selbst aneignest!
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #13 (permalink)  
Alt 22-10-2007, 15:32
arkos
 PHP Senior
Links : Onlinestatus : arkos ist offline
Registriert seit: Feb 2003
Ort: hamburg
Beiträge: 1.015
arkos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von browny



Ich verstehe allerdings nicht ganz wozu er an dieser Stelle das
PHP-Code:
echo "uebergebenes passwort lautet: ".$param_passwd
braucht. Wozu sollte das Passwort angezeigt werden das zuvor eingegeben wurde?
Um zu schauen ob man sich vertippt hat?
nein, das war sogenanntes adhoc-debugging. nur um zu sehen, ob überhaupt irgendwas in der variablen $param_passwd steht...
__________________
**********
arkos
**********
Mit Zitat antworten
  #14 (permalink)  
Alt 22-10-2007, 17:13
browny
 Newbie
Links : Onlinestatus : browny ist offline
Registriert seit: Oct 2007
Beiträge: 9
browny ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich danke euch =D
meine fragen wurden alle beantwortet
Ich lerne wie gesagt noch die grundlagen,
aber ich wollte dieses heute wissen, weil
es wirklich wie ein stein im weg
lag und ich nicht weitergekommen bin,
dieses hat sich ja nun gelöst ;D
Mit Zitat antworten
  #15 (permalink)  
Alt 23-10-2007, 13:03
browny
 Newbie
Links : Onlinestatus : browny ist offline
Registriert seit: Oct 2007
Beiträge: 9
browny ist zur Zeit noch ein unbeschriebenes Blatt
Standard


aber eine Frage hab ich doch noch, dann kann ich mich dem
nächsten Teil des Scripts witmen:

Der User bekommt jetzt direkt beim aufruf der Page
angezeigt dass, das Passwort falsch war, wie hier ja angegeben:

PHP-Code:

if(!isset($_POST['password']) || $password != $_POST['password'])
{
    
// Fehlermeldung
echo '<b><p><font size="+2"><font color="#FF0000">Das Passwort war falsch!</p></font></font></b>'

Gibt es eine Möglichkeit, diese Meldung beim aktualisieren/normalen aufrufen einfach zu unterdrücken und stattdessen einfach keine meldung auszugeben?
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:22 Uhr.