Toon posts:

[php]Header redirect zend session niet mee

Pagina: 1
Acties:

Verwijderd

Topicstarter
[PHP4.1.3-dev icm. apache_1.3.24 OS: win98SE]

Ik heb een login script gebouwd met een session die login informatie opslaat. Het script gaat tot nu toe goed maar als ik nu een header, http equiv of
PHP:
1
<?<script language='javascript'>document.location='http://urllablaat.php'; </script>?>

gebruik. sturen die functie's de session niet door ;(

zo ziet het er ongeveer uit
PHP:
1
<?session(blaat);// hier heb ik ook de header() functie geprobeertinclude();mysql(); //userinfo opvragen en controleren of de juiste user wel inlogt$blaat == $row[blaat]; //om de waarde voor session() te gevenheader();?><html><head><script> <meta http-equiv> //heb ik dus ook allemaal los geprobeert?>

helaas wil dit allemaal niet werken
als ik gewoon een link in het script zet doet alles het goed
maar ik vind dat niet zo netjes en wil gewoon graag een server of client side redirect

ik heb de search geraadpleegt (daar heb ik ook die java redirect vandaan ^_^ )
maar andere search suggesties zijn uiteraard welkom :)

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Begrijp ik het goed als je bijv
PHP:
1
<?header( Location: bla.php );?>

Je dan je sessie variabelen kwijt bent?
Heb je daar wel weer session_start() ( in bla.php) gedaan?

[edit]Hmmmz met een link werkt ie wel? Maar kun je misschien iets meer vertellen want uit deze code kan ik niets opmaken

Verwijderd

Topicstarter
ik zal het script ff posten (en de onnodige dingen weg laten uiteraard :))
PHP:
1
<?session_register('usr_id');include('*.inc.php');mysql_connect(*, *, *);mysql_select_db(*);$query = "SELECT * FROM * WHERE * ";$result = mysql_query($query);if(* == 'root'){print"ur sure u r the root baby? ;-)";exit;}for($count = 1; * = mysql_fetch_row(*); ++$count){ if(** == *password*){$usr_id = *;?><html>  <head>    <script language='javascript'>document.location='**'; </script>    <style type="text/css">    <!--    @import url(*.css);    -->    </style>    <title>Logging in!</title>      </head>  <body><?phpprint"<center><a href=\"*\">Ga naar de index</a>"; }else{  print"<center><font color=\"#0000ff\">Login failed! Ga terug en probeer het opnieuw!!</center>";  exit; }}?>  </body></html>?>

(script is nog niet af komt nog wat beveiliging als md5 en strip tag's etc. in)

maar hij hoort dus session id te laten zien in de adressbalk
maar op de volgende pagina reageert hij op de foutmelding
if $usr_id == "" print"no usr_id"

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Als je $user_id set met bijv $user_id =12; set je hem niet in de sessie. Dat doe je met $_SESSION['user_id'] = 12;

Benaderen doe je dus ook met $_SESSION['user_id'] in de volgende pagina! (behalve als je register_globals aan hebt staan, wat standaard uit staat bij uwer PHP versie)

[dacht ik met mijn roestige PHP kennis]

Verwijderd

Topicstarter
maar waarom doet ie het dan perfect zonder auto redirect :?

[update]
en php_info:
register_globals
On On

alleen ik zie het probleem niet aangezien session het opzichzelf goed doet (ik heb nl. zoiets als het goed gaat niet anders gaan doen want dan gaat het bij mij weer fout :))

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op vrijdag 05 april 2002 12:40 schreef DJ-Jumbo het volgende:
maar waarom doet ie het dan perfect zonder auto redirect :?
Kan ik niet zeggen zonder code te zien ;)

[edit] Hoe de link is opgebouwd en de pagina die het gaat ontvangen

Verwijderd

Topicstarter
Op vrijdag 05 april 2002 12:43 schreef Glimi het volgende:

[..]

Kan ik niet zeggen zonder code te zien ;)
zie 3e post ;)

Verwijderd

Topicstarter
PHP:
1
<?session_start();print"$usr_id";?>

met linkje doet ie het prima! :)

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op vrijdag 05 april 2002 12:35 schreef DJ-Jumbo het volgende:
ik zal het script ff posten (en de onnodige dingen weg laten uiteraard :))

<SNIP>

(script is nog niet af komt nog wat beveiliging als md5 en strip tag's etc. in)

maar hij hoort dus session id te laten zien in de adressbalk
maar op de volgende pagina reageert hij op de foutmelding
if $usr_id == "" print"no usr_id"
Ik mis de session_start() ?
Ermmmm waarom heb je echt alles vervangen door * dat is niet echt makkelijk lezen voor ons. Vervang alles eens door dingen die het script niet veranderen.

En het enige wat je moet wijzigen is de login van MySQL maar de rest is niet echt een security risk...

Programmer - an organism that turns coffee into software.


Verwijderd

Topicstarter
Op vrijdag 05 april 2002 13:01 schreef LuCarD het volgende:

[..]
En het enige wat je moet wijzigen is de login van MySQL maar de rest is niet echt een security risk...
waarom de login van MySQL weizigen :?
wat is er mis mee :?
PHP:
1
<?<meta HTTP-EQUIV="REFRESH" CONTENT="3;URL=*.php?PHPSESSID=<?php echo session_id(); ?>">?>

tada de oplossing
(wist ik veel dat session_id die cijferrij weer zou geven :P)
Pagina: 1