php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-09-2003, 22:15
supportkiller
 Newbie
Links : Onlinestatus : supportkiller ist offline
Registriert seit: Aug 2003
Beiträge: 11
supportkiller ist zur Zeit noch ein unbeschriebenes Blatt
supportkiller eine Nachricht über ICQ schicken
Standard Session ID übergeben

Hallöchen

So kann jetzt endlich mal meine Session ID und meine Abfragen machen. Leider klappt das mit der übergabe der Session ID nicht.

Kurz zum Ablauf:

In der Login2.php gebe ich die userdaten ein und überprüfe ob das passt. Wenn das i.O. ist linke ich mit Meta refresh nach fach.php weiter.
Dort muss ich mit der Sessid überprüfen wer eingelogt ist und damit die Rechte bestimmen und festlegen ob er die Seite sehen darf oder nicht.

Wie bekomme ich nun in der fach.php die Sessid. Ich habe es schon mit Get also per URL gemacht. funktioniert einwadfrei, aber dann hab ich den unsicheren Link, da die Sessid ja in der Login DB steht und dort nicht gelöscht wird, muss auch zur auswertung drin bleiben.

Wie bekomme ich nun die Sessid in die fach.php

So das ist die login2.php

PHP-Code:
<?php
    
//Connect Daten für Datenbank Connect
      
require("inc/allcon.txt");

        
$conn mysql_connect($dbhost,$dbuser,$dbpasswd);
        
        
mysql_select_db($database,$conn);


    if(!isset(
$name)){$name="";}
      if(!isset(
$pw)){$pw="";}


           @
session_start();
           
session_register("name");session_register("pw");

           
//$PW wird auf 1 gesetzt, falls keine Eingabe erfolgt ==> "denn nichts == 0"
           
$pw="1";
           
//hier wird überprüft ob Fomulardaten eingegeben wurden, wenn ja werden vars gesetzt
           
if (isset($_POST["name"])){
                
$name =      $HTTP_POST_VARS["name"];
                
$pw =        $HTTP_POST_VARS["pw"];
           }

            
$s1=session_name();$s2=session_id();
            
$sid="$s1=$s2";
            
$ipaddr "0" //$REMOTE_ADDR;
        
            
$sql "SELECT * FROM $dbnameu WHERE dshname = \"$name\"";

            
$suche mysql_query($sql,$conn);
            
$erg=mysql_fetch_array($suche);
            
//hier wird der String $pw in einen Array umegwandelt ( String != Array )
            
$pw2 = array($pw);
            if (
$erg[4]==$pw2["0"]){

            
$sql2 "INSERT $dbnamel (userid,sessionid,datum,ip) VALUES ('$erg[0]','$s2',0,'$ipaddr')";

            
mysql_query($sql2,$conn);
            
            
//Hier wird, wenn login OK, zur nächsten Seite weitergeleitet,wenn nicht kommt das Formular wieder
            
echo "<meta http-equiv=\"refresh\" content=\"0;URL=fach.php\">";

            }

            else {
            

            
///////////////////
        ///LOG IN FALSCH///
        ///////////////////
            
@session_destroy();
                  
//Anfangsformular zum einloggen
            
echo
                
"<form action=\"login2.php\" method=\"post\" name=\"login\">".
                
"<font face=\"verdana,arial\" size=2 style=\"{font-size:13.5px}\">".
                
"Benutzername:</font><br><input type=\"text\" name=\"name\" size=15 value=\"\" class=\"login\"><br>".
                
"<font face=\"verdana,arial\" size=2 style=\"{font-size:13.5px}\">".
                
"Passwort:</font><br><input type=\"password\" name=\"pw\" size=15 class=\"login\"><br><br>".
                        
                        
"<button type=\"submit\" >absenden</button>&nbsp;&nbsp;<button type =\"reset\" >Formular löschen</button>\n".
                
"</form>";
            
//Anfangsformular zum einloggen beendet
       
}
?>
und das die fach.php

PHP-Code:

<html>
<head>
<title>Login Testseite</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                    <style type="text/css">
                   
             a:link {color:#0033CC; text-decoration:none }
                   a:visited {color:#0033CC; text-decoration:none }
                   a:hover {color:#000000; text-decoration:underline overline }
                   </style>

</head>

<body bgcolor="#FFFFFF" text="#000000" topmargin="0" leftmargin="0">

<?php 
                         
require("inc/allcon.txt");


                         
$conn mysql_connect($dbhost,$dbuser,$dbpasswd);

                         
mysql_select_db($database,$conn);
                         
/*wie bekomme ich nun hier die Session ID rein
                         die dann $erg heissen soll*/
                         
                         
print $erg;
                         
// hier wird nach der SID in der Login DB gesucht und die Daten dazu ausgelesen ( Userid, Ip, Datum )
                         
$result mysql_query("SELECT * FROM $dbnamel WHERE sessionid = '$erg'");
                         
$zeile mysql_fetch_array($result);

                         
//Hier wird mit der USERID die User DB abgefragt und die Rechte ausgelesen
                         
$usli mysql_query("SELECT * FROM $dbnameu WHERE id = '$zeile[1]'");

                         
$user Mysql_fetch_array($usli);

                         
//Hier wird überprüft ob User Rechte hat um diese Seite zu sehen ( 1= Admin )
                         
if ($user["10"]=="1"){
                     
                     
                         print 
"sie haben das recht die Seite zu sehen";



                        }
                         else print 
"sie haben keine Rechte diese Seite zu sehen";
 
?>
Hiiiilllfffeeeee
__________________
Wissen ist MACHT!! nichts wissen macht auch nix
Mit Zitat antworten
  #2 (permalink)  
Alt 09-09-2003, 22:18
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

ohne zuende zu lesen, weil hier dauernd die gleichen Fragen kommen, und ich immer denke das hast du schon gelesen:

dein meta-refresh sieht so aus

seite.php

wo übergibst du da die session???

also seite.php?[[namedersession]]=[[sessionid]]

so muss das aufgebaut sein. wie du an namen+id kommst, findest (das ergebnis von suchen! ) du im forum oder im manual!
EDIT:
ich seh grade, du weißt ja schon, wie du daran kommst. also brauchst du nur anhängen.
__________________
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
  #3 (permalink)  
Alt 09-09-2003, 22:33
supportkiller
 Newbie
Links : Onlinestatus : supportkiller ist offline
Registriert seit: Aug 2003
Beiträge: 11
supportkiller ist zur Zeit noch ein unbeschriebenes Blatt
supportkiller eine Nachricht über ICQ schicken
Standard nett

Das is nett das du so schnell antwortest, aber es wäre doch besser gewesen wenn du weite rgelesen hättest. Mit seite.php?sid hab ich´s schon gemacht!! Das will ich abe rnich, da dann die sid in der URL steht und somit kann die seite von jedem der den Link hat mit der sid wieder angeschaut werden.

die sid darf nicht zu sehen sein, bei der weitergabe
__________________
Wissen ist MACHT!! nichts wissen macht auch nix
Mit Zitat antworten
  #4 (permalink)  
Alt 09-09-2003, 22:40
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

dann musst du mit cookies arbeiten!

hier hast du schon eins:

__________________
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
  #5 (permalink)  
Alt 09-09-2003, 22:56
supportkiller
 Newbie
Links : Onlinestatus : supportkiller ist offline
Registriert seit: Aug 2003
Beiträge: 11
supportkiller ist zur Zeit noch ein unbeschriebenes Blatt
supportkiller eine Nachricht über ICQ schicken
Standard doof

Das heisst also du willst mir sagen das ich sonst nich anders an die sid komme??? verdammt aber irgendwie hat sich das so abgezeichnet.

Ich könnte dann evtl mit nem javascrip ein Formular auslösen das per hidden field die sessid übergibt!!

Das passt mir ja nicht wirklich, muss aber dann wohl so gehen!!

ok thanks auch
__________________
Wissen ist MACHT!! nichts wissen macht auch nix
Mit Zitat antworten
  #6 (permalink)  
Alt 09-09-2003, 23:05
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

Tja,

irgendwo muss die gespeichert werden.

post, cookie oder get

post halte ich für umständlich. da musst du ja für jeden link n form machen.

cookie. ist ganz okay. wenn mans löscht, ist man eben draußen ansonsten sieht man die id nicht. die user die keine cookies aktiviert haben stehet doof da.

get bevorzuge ich. da kannst du keinen aussperren und geht bei jedem.
__________________
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 09-09-2003, 23:06
supportkiller
 Newbie
Links : Onlinestatus : supportkiller ist offline
Registriert seit: Aug 2003
Beiträge: 11
supportkiller ist zur Zeit noch ein unbeschriebenes Blatt
supportkiller eine Nachricht über ICQ schicken
Standard allerdings

könnte ich die sessid auch irgendwie verwurschteln!! mit PI mal nehmen oder nen cosinus draus ziehen und dann übergeben!! in der DB steht ja was anderes. das muss ich dann in den weiteren seiten nur "entschlüsseln" und fertsch!! dann kann ich das per get übertragen!!

ODER????
__________________
Wissen ist MACHT!! nichts wissen macht auch nix
Mit Zitat antworten
  #8 (permalink)  
Alt 09-09-2003, 23:10
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

wenn du dadrauf achtest, dass die sid nur aus zahlen besteht, kannst du das machen. aber! was bringt dir das???
__________________
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 09-09-2003, 23:19
supportkiller
 Newbie
Links : Onlinestatus : supportkiller ist offline
Registriert seit: Aug 2003
Beiträge: 11
supportkiller ist zur Zeit noch ein unbeschriebenes Blatt
supportkiller eine Nachricht über ICQ schicken
Standard das bringt

folgendes

Ich habe die sess id in ner DB stehen. Wenn ich jetzt durch einen Link irgendein Document aufmache muss ich über die sessid in die login db schauen wer sich angemeldet hat und damit überprüfen ob derjenige das recht dazu hat oder nicht.
Wenn ich die sid jetzt ganz normal per url übergebe kann ich ja z.b. einen Link kopieren und den kann dann jeder x beliebige aufmachen, da es die sid in der DB ja mit der userid und damit auch dem Recht gibt. und das muss irgendwie sicher umgehen.

kannst mir auch gerne nen tip geben wie ich das anders machen kann. Bin für alles, na ja sagen wir für vieles offen.

Ich mach das ganze halt für meine Firma und da arbeite ich in einer Entwicklungsabteilung und da gibts einen Haufen ziemlich guter Softwaredesigner. und die sollen nich unbedingt auf die Daten kommen können.
__________________
Wissen ist MACHT!! nichts wissen macht auch nix
Mit Zitat antworten
  #10 (permalink)  
Alt 09-09-2003, 23:37
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:
Wenn ich die sid jetzt ganz normal per url übergebe kann ich ja z.b. einen Link kopieren und den kann dann jeder x beliebige aufmachen, da es die sid in der DB ja mit der userid und damit auch dem Recht gibt. und das muss irgendwie sicher umgehen.
wo wäre der unterschied, wenn du die sid verschlüsselst??

Zitat:
Ich mach das ganze halt für meine Firma und da arbeite ich in einer Entwicklungsabteilung und da gibts einen Haufen ziemlich guter Softwaredesigner. und die sollen nich unbedingt auf die Daten kommen können.
warum machen die dat nicht?

wie wollen die an eine aktive sessionid rankommen? sollen die beim nachbarn abschreiben=
__________________
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 09-09-2003, 23:40
supportkiller
 Newbie
Links : Onlinestatus : supportkiller ist offline
Registriert seit: Aug 2003
Beiträge: 11
supportkiller ist zur Zeit noch ein unbeschriebenes Blatt
supportkiller eine Nachricht über ICQ schicken
Standard die machen dat net

weil die an wichtigen und anderen sachen programmieren. Wir entwickeln hauptsächlich KFZ software. Steuersoftware verwaltung und so zeug bzw Kraftstoffkontrolle und so. Und ich arbeite da im Support und bastel gerade einen Netzwerkplan online, da wir 5 Standorte haben und in der Abteilung ca 1000 Mitarbeiter. Außerdem soll die UserDB nachher ausgebaut werden das man damit Bedarfsanforderungen und so zeugs machen kann.

Wenn ich das verschlüssle wäre das ne feine Sache. Mach ich das mit MD5 oder mit Session encode oder sowas??

Wie kann ich das dann entschlüsseln??

Auf jeden Fall nochmal danke für deine schnellen Antworten

EDIT:

Ach so jetzt hab ich geschnallt wie du das meinst. Ich schreibe die Sid unverschlüsselt in die DB und verschlüssle sie nur in der Url. Dann muss derjenige erstma wissen wie ich die verschlüsselt hab um da ran zu kommen.



EDIT:


wie lange is denn die SID aktiv?? bzw. eigentlich is sie so lange aktiv wie sie in der db steht!! das is wohl das prob an der geschichte

__________________
Wissen ist MACHT!! nichts wissen macht auch nix

Geändert von supportkiller (09-09-2003 um 23:44 Uhr)
Mit Zitat antworten
  #12 (permalink)  
Alt 09-09-2003, 23:44
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

kannst mir ja mal die firma sagen, dann kann ich das zu den referenzen packen

nun, dein pi mal cos wäre ja auch ne verschlüsselung. aber ich frage dich nochmal, was soll dir das bringen, wenn du das machst? die verschlüsselte id wird doch genauso behandelt, wie die normale, nur dass da vorher und nacher noch ne kleine routine kommt, die aber eigentlich nicht viel macht. und an der funktion der id nichts ändert.
__________________
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 09-09-2003, 23:58
supportkiller
 Newbie
Links : Onlinestatus : supportkiller ist offline
Registriert seit: Aug 2003
Beiträge: 11
supportkiller ist zur Zeit noch ein unbeschriebenes Blatt
supportkiller eine Nachricht über ICQ schicken
Standard klar ändert sich....

Au mann bin ich doooof

hatte da einen kleinen Merkfehler dazwischen. OK ich denk mal ich geh ne runde probehängen im Wald.

Na ja war wohl zu viel kaffee heute.

Ich arbeite bei T-Systems. Bin allerdings Werkstudent und programmiere das gerade als Studienarbeit. Leider machen wir in der Firma gar nix mit PHP, deshalb hab ich zwar klasse Programmiere um mich rum, aber keiner der sich mit "HTML", na wenn ich basierendenden Sprachen schreibe stimmt das ja nich, aber ´Sprachen wie PHP oder Perl oder so werden bei uns nich benutzt. Da geht das meiste über assembler oder JAVA oder C/C++.

Ich denke mal ich komme da nur drumrum wenn ich die sessid mit nem JAVASCRIPT und POST übergeb!! sonst is wohl nix zu machen.

danke nochmals

bis denne
__________________
Wissen ist MACHT!! nichts wissen macht auch nix
Mit Zitat antworten
  #14 (permalink)  
Alt 10-09-2003, 08:09
mrhappiness
 PHP Guru
Links : Onlinestatus : mrhappiness ist offline
Registriert seit: Oct 2002
Beiträge: 14.890
mrhappiness ist zur Zeit noch ein unbeschriebenes Blatt
mrhappiness eine Nachricht über AIM schicken mrhappiness eine Nachricht über Yahoo! schicken
Standard

wenn das ehn ur intern is, dann sorg einfach dafür (falls noch nicht geschehen) dass cookies aktiv sind, oder probier dich mal an ssl (wenn du's nur intern machst musst du ja auch nich jährlich für das zertifikat zahlen)
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
Mit Zitat antworten
  #15 (permalink)  
Alt 10-09-2003, 15:43
supportkiller
 Newbie
Links : Onlinestatus : supportkiller ist offline
Registriert seit: Aug 2003
Beiträge: 11
supportkiller ist zur Zeit noch ein unbeschriebenes Blatt
supportkiller eine Nachricht über ICQ schicken
Standard cookis aktiv ==>

Oh nein das kannst du vergessen

Da sind unsere User zu schwierig dazu. Wir haben da schon ein paar ganz besondere. Außerdem stehen ca 1000 Rechner rum.

SSH?? Muss ich mich mal mit befassen.

bis denne
__________________
Wissen ist MACHT!! nichts wissen macht auch nix
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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

Newsmanager

Der Newsmanager ist ein Newssystem und Newsletter in einem. Mit WYSIWYG Editor und E-Mail import aus einer bestehenden MySql Datenbank sowie dynamische Kategorien / Themen Filter.

11.09.2019 Stephan_1972 | Kategorie: PHP/ News
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

11.09.2019 Stephan_1972 | Kategorie: PHP/ Webservice
ContentLion - Open Source CMS ansehen ContentLion - Open Source CMS

ContentLion ist ein in PHP geschriebenes CMS, bei dem man Seiten, Einstellungen usw. in Ordnern lagern kann

22.08.2019 stevieswebsite2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:54 Uhr.