register_globals overide

Pagina: 1
Acties:

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:18

me1299

$ondertitel

Topicstarter
Is het mogelijk om in je script register globals alsnog uit te zetten?

Ik heb namelijk problemen met het aanmaken van sessies dit gebeurt op een verschillende manier afhankelijk van register globals. (aan/uit)

kortom: ik zoek dus een functie zoals: error_reporting(E_ALL); maar dan voor register globals

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier


  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Wat ACM zegt. Geef de volgende keer ff duidelijk (in je titel) aan over wat voor taal we praten.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 09-09 11:02
Ik kan me voorstellen dat 't met ini_set niet werkt. Globals worden normaliter voor het uitvoeren van het script geregistreerd en wanneer je de optie tijdens het uitvoeren van het script aanzet (wat bij het einde van de uitvoering weer ongedaan gemaakt wordt), zou het goed kunnen dat die variabelen niet alsnog ingesteld worden. Pin me er niet op vast, though.

In ieder geval zijn er de afgelopen twee weken al meer dan genoeg posts over dit onderwerp geweest. Zie verder ook het commentaar op php.net.

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:18

me1299

$ondertitel

Topicstarter
string ini_set("register_globals", "0");

Ik kom op deze code uit. Krijg alleen wel een Parse error. Waar zit de fout? :o

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • Orphix
  • Registratie: Februari 2000
  • Niet online
uhm ... die string aan het begin :?
je hebt letterlijk de functie definitie gecopy/paste geloof ik :)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Een betere oplossing is (waarschijnlijk) altijd variabelen declareren en als je waarden uit je sessie nodig hebt ze aan te spreken als $_SESSION['waarde'] of $HTTP_SESSION_VARS['waarde'] (mocht je nog een oude php hebben).

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:18

me1299

$ondertitel

Topicstarter
Op zondag 05 mei 2002 23:20 schreef ACM het volgende:
Een betere oplossing is (waarschijnlijk) altijd variabelen declareren en als je waarden uit je sessie nodig hebt ze aan te spreken als $_SESSION['waarde'] of $HTTP_SESSION_VARS['waarde'] (mocht je nog een oude php hebben).
Dat doe ik ook. Maar als Global_vars nu aanstaat werkt m'n script niet.

Ik doe nu dit:
PHP:
1
<?        $HTTP_SESSION_VARS['loggedin'] = $mysql_fetch['Id'];        $HTTP_SESSION_VARS['username'] = $mysql_fetch['Username'];        $HTTP_SESSION_VARS['password'] = $mysql_fetch['Password'];        $HTTP_SESSION_VARS['level'] = $mysql_fetch['Level'];?>

En als globalvars aanstaat moet je perse:
PHP:
1
<?session_register("username");?>

gebruiken.

Vind ik opzich een zeer slechte ontwikkeling.

Nu zou ik graag willen weten of het mogelijk is te controleren in je script of globalvars aanstaat. Want zelfs dat lukt me niet.

Nog een vraagje, ik gebruik nu php 4.06 en werk daarom met $HTTP_SESSION_VARS werkt mijn script nu niet op een nieuwere php versie omdat je daar $_SESSION hebt?

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

Zet dit in je .htaccess file in de je webroot:
code:
1
php_value register_globals 0

Maar..
Please note that you need to set AllowOveride All in your Directory block in the apache config file for this to work.

On track


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:18

me1299

$ondertitel

Topicstarter
Op zondag 05 mei 2002 23:57 schreef WouZz het volgende:
Zet dit in je .htaccess file in de je webroot:
code:
1
php_value register_globals 0

Maar..
[..]
Bedankt voor de tip! Hier heb ik wat aan.

Alleen loop ik nog steeds tegen het probleem aan dat mijn script niet op elke server netjes kan draaien omdat je zoals je zegt in apache dan weer wat moet instellen.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

PHP:
1
<?if (ini_get("register_globals") == 0)    session_register("username");?>

ofzoiets??

Of lees ff de user notes uit de manual:
If globals is off on your system, or if, more general, you want to write
Code for others and you can't assure the Session variables are registered
globally, you could use the technique of 'phpMyAdmin' (I guess among
others) - just use 'extract' at the right time.
<?php
// unset critical vars
@session_start;
extract($HTTP_SESSION_VARS);
?>

On track

Pagina: 1