SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 19.09.2004, 11:43:22
mtchris mtchris ist offline
Anfänger
 
Registriert seit: Sep 2004
Beiträge: 14
Durch Umstellung von PHP ist Script unbrauchbar!

Hi Leutz,

ich beötige Hife. Komme nicht weiter.
Hatte ein Mitglieder-Login mit PHP-Session gebaut unter der PHP
Version 3.0.6. Durch unsere Serverumstellung wurde daraus die Version
4.3.3
Habe an dem Script bereits Stunden verbracht, aber es läuft einfach nicht.
Vielleicht könnt ihr mir helfen, hier mal das Script:

Durch ein Formular werden folgende Daten per <form method="post" action="login.php" target="_self">
type="password" name="userx
type="password" name="pwdx

--> LOGIN.PHP
<?php
$curdir = dirname($HTTP_SERVER_VARS["PHP_SELF"]);
if ($curdir == "/") { $curdir = ""; }
$userxf = $HTTP_POST_VARS["userx"];
if (file_exists("../../daten2/mdata/$userxf.pwl")) {
$tf = fopen ("../../daten2/mdata/$userxf.pwl", "r-");
$user = fgets ($tf,30);
$pwd = fgets ($tf,15);
$pwd = trim ($pwd);
$status = fgets ($tf,5);
fclose ($tf); }
else {
$log = date("d.m.Y") . " " . date("h:i:s A") . " USR WR" . " user: " . $HTTP_POST_VARS["userx"] . " pwd: " . $HTTP_POST_VARS["pwdx"] . " " . $REMOTE_ADDR;
$fw = fopen("../../daten2/mdata/log/reg.log", "a");
$log = $log . "rn";
fputs ($fw,$log);
fclose ($fw);
header("location: http://".$HTTP_SERVER_VARS["HTTP_HOST"].$curdir."/mlog.php?msg=User-Name oder Passwort nicht registriert!"); }
if (file_exists("../../daten2/mdata/$userxf.pwl") AND !isset($HTTP_POST_VARS["pwdx"]) OR $HTTP_POST_VARS["pwdx"] != $pwd){
$log = date("d.m.Y") . " " . date("h:i:s A") . " PWD WR" . " user: " . $HTTP_POST_VARS["userx"] . " pwd: " . $HTTP_POST_VARS["pwdx"] . " " . $REMOTE_ADDR;
$fw = fopen("../../daten2/mdata/log/$userxf.log", "a");
$log = $log . "rn";
fputs ($fw,$log);
fclose ($fw);
header("location: http://".$HTTP_SERVER_VARS["HTTP_HOST"].$curdir."/mlog.php?msg=User-Name oder Passwort nicht registriert!"); }
if (file_exists("../../daten2/mdata/$userxf.pwl") AND $HTTP_POST_VARS["pwdx"] == $pwd) {
session_start();
$log = date("d.m.Y") . " " . date("h:i:s A") . " accept" . " user: " . $HTTP_POST_VARS["userx"] . " pwd: " . $HTTP_POST_VARS["pwdx"] . " " . $REMOTE_ADDR;
$fw = fopen("../../daten2/mdata/log/$userxf.log", "a");
$log = $log . "rn";
fputs ($fw,$log);
fclose ($fw);
session_register("suserx","spwdx");
$suserx = $HTTP_POST_VARS["userx"];
$spwdx = $HTTP_POST_VARS["pwdx"];
header("location: http://".$HTTP_SERVER_VARS["HTTP_HOST"].$curdir."/main.php?sid=".session_id()); }
?>


danke
gruss chris
Mit Zitat antworten
  #2  
Alt 19.09.2004, 13:36:36
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Zitat:
Mal ein Standardposting:
Vermutlich das:
Mit Version 4.1 wurde in PHP ein neues Sicherheitskonzept eingeführt, welches seit Version 4.2 standardmäßig aktiviert ist. Seit dem muss man alle übergebenen Variablen mit
$_GET['variable'] - für Urlparameter
$_POST['variable'] - für mit method=post versendete Parameter
$_COOKIE['variable'] - für Cookies
$_REQUEST['variable'] - $_POST, $_GET und $_COOKIE zusammen
$_FILES['variable'] - für hochgeladene Dateien
$_SERVER['variable'] - für Servervariablen (z.B. $_SERVER['PHP_SELF'])
$_ENV['variable'] - für Umgebungsvariablen
ansprechen. Also ehemals $str mit $_GET['str']
Oder Du setzt in der php.ini register_globals auf on. Davon rate ich aber ab
Wenn es daran nicht liegt, schreib mal eine etwas genauere Fehlerbeschreibung.
Mit Zitat antworten
  #3  
Alt 21.09.2004, 19:18:13
mtchris mtchris ist offline
Anfänger
 
Registriert seit: Sep 2004
Beiträge: 14
session problem

Hi,
danke für deine Hilfe. Bin jetzt schon weiter gekommen.
Habe jetzt aber Probleme die Weitergabe von Variablen über Sessions.
Hier mein Code:

Auszug von login.php
<?php
session_start();
session_register("suserx","spwdx");
$suserx = $userx;
$spwdx = $pwdx;
header("location: http://".$_SERVER["HTTP_HOST"].$curdir."/main.php?sid=".session_id()); }
?>

Auszug von main.php
<?php
session_start();
$suserxf2 = $_SESSION["suserx"];

oder wie kann ich hier an die Variablen kommen? ($suserx und $spwdx)

DANKE

gruss chris
Mit Zitat antworten
  #4  
Alt 22.09.2004, 09:23:29
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Du darfst nicht mit session_register arbeiten. Speichere die Variablen mit $_SESSION['var'] = $var in der Session.
Mit Zitat antworten
  #5  
Alt 22.09.2004, 13:25:56
mtchris mtchris ist offline
Anfänger
 
Registriert seit: Sep 2004
Beiträge: 14
danke
habe aber immer noch ein Fehler drinnen:
Notice: Undefined variable: suserx in ... ...line 5


Auszug von login.php

$_SESSION["suserx"] = $userx;
$_SESSION["spwdx"] = $pwdx;


Auszug von main.php

session_start();
$suserxf2 = $suserx;

kann die Variable nicht finden
danke
gruss chris
Mit Zitat antworten
  #6  
Alt 22.09.2004, 13:39:51
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
Du musst natürlich auch auf die Variable in der Session zugreifen.

main.php:
PHP-Code:
<?php
    session_start
();
    
$suserfx2 $_SESSION['suserx'];
?>
Mit Zitat antworten
  #7  
Alt 22.09.2004, 15:54:25
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
Re: session problem

Bitte die BB Tags verwenden
Zitat:
Original geschrieben von mtchris
Habe jetzt aber Probleme die Weitergabe von Variablen über Sessions.
Hier mein Code:

Auszug von login.php
Korrigiert (register_globals = Off):
PHP-Code:
<?php
session_start
();
$_SESSION['suserx'] = 'spwdx'# macht man jetzt so
$suserx $userx;
$spwdx $pwdx;
session_write_close(); # Session File schreiben
header('location: [url]http://[/url]'.$_SERVER['SERVER_NAME'] . 
  
$curdir.'/main.php?'session_name() . '=' .session_id());
exit; 
# Script beenden - der User is ja eh weg.
}
?>
main-php:
PHP-Code:
<?php
session_start
();

print (
'<pre>');
print_r ($_SESSION);
print (
'</pre>');
?>
Beachte bitte das, wenn Du einen anderen Sessionnamen verwenden willst:
http://de3.php.net/manual/de/function.session-name.php

Geändert von meikel (†) (23.09.2004 um 18:55:09 Uhr)
Mit Zitat antworten
  #8  
Alt 23.09.2004, 16:09:14
mtchris mtchris ist offline
Anfänger
 
Registriert seit: Sep 2004
Beiträge: 14
hilfe

Hi,
nochmals danke! aber es läuft einfach nicht.
Hier mal der ganze Quellcode:

<?php
settype($userx, "string");
settype($pwdx, "string");
include("../web/post_get.php");
$pwdx = $_POST["pwdx"];
$userx = $_POST["userx"];
$curdir = dirname($_SERVER["PHP_SELF"]);
if ($curdir == "/") { $curdir = ""; }
$userxf = $userx;
if (file_exists("../daten/mdata/$userxf.pwl")) {
$tf = fopen ("../daten/mdata/$userxf.pwl", "r-");
$user = fgets ($tf,30);
$pwd = fgets ($tf,15);
$pwd = trim ($pwd);
$status = fgets ($tf,5);
fclose ($tf); }
else {
$log = date("d.m.Y") . " " . date("h:i:s A") . " USR WR" . " user: " . $userx . " pwd: " . $pwdx . " " . $_SERVER["REMOTE_ADDR"];
$fw = fopen("../daten/mdata/log/reg.log", "a");
$log = $log . "rn";
fputs ($fw,$log);
fclose ($fw);
header("location: http://".$_SERVER["HTTP_HOST"].$curdir."/mlog.php?msg=User-Name oder Passwort nicht registriert!"); }
if (file_exists("../daten/mdata/$userxf.pwl") AND !isset($pwdx) OR $pwdx != $pwd){
$log = date("d.m.Y") . " " . date("h:i:s A") . " PWD WR" . " user: " . $userx . " pwd: " . $pwdx . " " . $_SERVER["REMOTE_ADDR"];
$fw = fopen("../daten/mdata/log/$userxf.log", "a");
$log = $log . "rn";
fputs ($fw,$log);
fclose ($fw);
header("location: http://".$_SERVER["HTTP_HOST"].$curdir."/mlog.php?msg=User-Name oder Passwort nicht registriert!"); }
if (file_exists("../daten/mdata/$userxf.pwl") AND $pwdx == $pwd) {
session_start();
$log = date("d.m.Y") . " " . date("h:i:s A") . " accept" . " user: " . $userx . " pwd: " . $pwdx . " " . $_SERVER["REMOTE_ADDR"];
$fw = fopen("../daten/mdata/log/$userxf.log", "a");
$log = $log . "rn";
fputs ($fw,$log);
fclose ($fw);
$_SESSION["suserx"] = $userx;
$_SESSION["spwdx"] = $pwdx;
header("location: http://".$_SERVER["HTTP_HOST"].$curdir."/main.php?sid=".session_id()); }
?>

und hier main.php
<?php
settype($sid, "integer");
settype($status, "integer");
include("../web/post_get.php");

$curdir = dirname($_SERVER["PHP_SELF"]);
if ($curdir == "/") { $curdir = ""; }
session_start();
$suserfx2 = $_SESSION["suserx"];
if (file_exists("../daten/mdata/$suserxf2.pwl")) {
$tf = fopen ("../daten/mdata/$suserxf2.pwl", "r-");
$user = fgets ($tf,30);
$user = trim ($user);
$pwd = fgets ($tf,15);
$pwd = trim ($pwd);
$status = fgets ($tf,5);
fclose ($tf); }
else {
header("location: http://".$_SERVER["HTTP_HOST"].$curdir."/mlog.php?msg=Vorgang fehlgeschlagen. Bitte einloggen!"); }
if (!isset($_SESSION["spwdx"]) OR $_SESSION["spwdx"] != $pwd){
header("location: http://".$_SERVER["HTTP_HOST"].$curdir."/mlog.php?msg=Vorgang fehlgeschlagen. Bitte einloggen!"); }
?>


danke
Mit Zitat antworten
  #9  
Alt 23.09.2004, 16:54:15
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
1. Setze PHP-Code bitte zwischen die [ php]- und [ /php]-Tags.

2. Rücke bitte deinen Code ein. Das fördert die Lesbarkeit enorm.

3. Beschreib mal ein wenig genauer, was jetzt noch nicht funktioniert.
Mit Zitat antworten
  #10  
Alt 23.09.2004, 19:01:01
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
Re: hilfe

Zitat:
Original geschrieben von mtchris
nochmals danke! aber es läuft einfach nicht.
Eine genauere Fehlerbeschreibung, wenn Du Hilfe haben möchtest. Immerhin lieferst Du hier schlecht lesbaren und nicht kommentierten Quelltext ab.

Warum Du meinen Hinweis bezüglich header('Location: ...') und Session nicht beachtest, bleibt allerdings unerfindlich.
Mit Zitat antworten
Antwort


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

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:59:38 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt