[PHP] session_register of $_SESSION

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
We hebben hier op 't werk een kleine discussie over welke methode om met sessies te werken nu de nieuwste (en dus aangeraden) methode is:

session_start();
session_register('var');


- OF -

$_SESSION['var'] = $var;

Kan iemand van jullie hier uitsluitsel over geven? Alvast bedankt!

[ Voor 7% gewijzigd door Verwijderd op 03-11-2003 11:55 ]


Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
het is volgens mij de eerste, deze gebruik ik altijd, en werkt niet alleen veilig maar ook foutloos

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 23:26

Tjark

DON'T PANIC

uit de php manual van php.net:
Caution
If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.
lijkt me dus duidelijk: de 2e optie is beter


maar btw: met $_SESSION['var'] moet je nog steeds een session_start doen.
Also note that you must start your session using session_start() before use of $_SESSION becomes available.

[ Voor 33% gewijzigd door Tjark op 03-11-2003 12:08 ]

*insert signature here


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

nog meer van php.net
If register_globals is disabled, only members of the global associative array $_SESSION can be registered as session variables. The restored session variables will only be available in the array $_SESSION.

Use of $_SESSION (or $HTTP_SESSION_VARS with PHP 4.0.6 or less) is recommended for improved security and code readablity. With $_SESSION, there is no need to use the session_register(), session_unregister(), session_is_registered() functions. Session variables are accessible like any other variables.
lijkt me duidelijk en had je zelf kunnen vinden...

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 23:26

Tjark

DON'T PANIC

En wie had er nu gelijk op je werk? :)

*insert signature here


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nou, op diezelfde php.net zeggen ze ook dit:

You can also create a session variable by simply setting the appropriate member of the $_SESSION or $HTTP_SESSION_VARS (PHP < 4.1.0) array.

Dus dan vraag ik mij af: wordt deze methode simpelweg aangeraden omdat hij door ALLE versies ondersteund wordt, maar is session_register e.d. eigenlijk nieuwer? We gebruiken namelijk maar 1 PHP-versie, te weten v4.3

Acties:
  • 0 Henk 'm!

  • wica
  • Registratie: Februari 2002
  • Laatst online: 21-02 09:21

wica

De duivel jacht op me

Dan heb ik nog ff een vraag.
Als je dus $_SESSION["foo"]='bar';

Kan je foo dan benaderen door $foo of moet het via $_SESSION["foo"] ?

RFC | The Linux Document Project | gentoo.


Acties:
  • 0 Henk 'm!

Verwijderd

wica schreef op 03 november 2003 @ 12:19:
Dan heb ik nog ff een vraag.
Als je dus $_SESSION["foo"]='bar';

Kan je foo dan benaderen door $foo of moet het via $_SESSION["foo"] ?
$_SESSION["foo"]

Acties:
  • 0 Henk 'm!

  • wica
  • Registratie: Februari 2002
  • Laatst online: 21-02 09:21

wica

De duivel jacht op me

jammer, is wat meeer tik werk :)

RFC | The Linux Document Project | gentoo.


Acties:
  • 0 Henk 'm!

  • mouse256
  • Registratie: Mei 2003
  • Laatst online: 30-12-2024
Maar wel beter, als register_globals aan staat, en iemand roept je pagina op met index.php?foo=ietsanders
Dan gaat $_SESSION["foo"] nog altijd op bar staan (is niet aan te passen), terwijl $foo nu op "ietsanders" staat. :-)

Acties:
  • 0 Henk 'm!

  • wica
  • Registratie: Februari 2002
  • Laatst online: 21-02 09:21

wica

De duivel jacht op me

Ja, dat begrijp ik. Is een stuk veiliger

RFC | The Linux Document Project | gentoo.


Acties:
  • 0 Henk 'm!

  • wasco
  • Registratie: April 2003
  • Laatst online: 18-09 09:05

wasco

brightest crayon in the box

Verwijderd schreef op 03 november 2003 @ 12:09:
Nou, op diezelfde php.net zeggen ze ook dit:

You can also create a session variable by simply setting the appropriate member of the $_SESSION or $HTTP_SESSION_VARS (PHP < 4.1.0) array.

Dus dan vraag ik mij af: wordt deze methode simpelweg aangeraden omdat hij door ALLE versies ondersteund wordt, maar is session_register e.d. eigenlijk nieuwer? We gebruiken namelijk maar 1 PHP-versie, te weten v4.3
die (PHP < 4.1.0) slaat alleen op $HTTP_SESSION_VARS..
dat wordt afgeraden bij PHP ontwikkelomgevingen vanaf 4.1.0. Daar kan je beter $_SESSION gebruiken omdat $HTTP_SESSION_VARS op termijn gaat vervallen.

denk ik :)

wasco [the brightest crayon in the box]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

de session_ functies zijn achterhaald. Als je PHP 4.1+ draait altijd gebruik maken van de superglobals ($_GET/POST/SESSION/COOKIE/SERVER/etc)

Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Het getten en setten van die superglobals roelt echt flink hard.

Je kan bijv. in je script je eigen $_GET variabelen weer instellen, $_POST swappen met $_GET, in 1x een $_POST in een $_SESSION pleuren, etc.

Superglobals zijn _o_

Stop uploading passwords to Github!

Pagina: 1