WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Vad är det för inställning?! (https://www.wn.se/forum/showthread.php?t=1039291)

grinditwp 2009-11-25 09:19

Vad är det för inställning?!
 
Stötte nyligen på ett irriterande problem när jag flyttade över en webbtjänst till b-one webbhotell.

Av någon anledning så är exempelvis variabeln $namn och sessions variabeln $_SESSION['namn'] samma automatiskt. Alltså, ändrar jag $_SESSION['namn'] så ändras också $namn.

Antar att detta är någon inställning på webbservern, någon som vet vad den heter och vart jag kan läsa mer om det hela?

Är detta normalt? För mig känns det väldigt ologiskt.

BarateaU 2009-11-25 09:34

Är de inte så att allt "$namn" = $_SESSION['namn']

emilv 2009-11-25 09:38

Inställningen heter register_globals och är skitdålig ur säkerhetssynpunkt. Se till att få den avstängd eller byt webbhotell.

grinditwp 2009-11-25 09:46

Citat:

Ursprungligen postat av emilv (Inlägg 20332878)
Inställningen heter register_globals och är skitdålig ur säkerhetssynpunkt. Se till att få den avstängd eller byt webbhotell.

Betyder det att ALLA variabler med samma namn, typ $namn, $_POST['namn'], $_SESSION['namn'] automatiskt är samma?

Fyfan...

Westman 2009-11-25 10:22

Tyvärr är det många som fortfarande använder register_globals men man brukar kunna styra det per webb mha. htaccess (php_flag register_globals off) eller om man har en egen php.ini (båda styrs av apacheinställningar). Frågan är om b-one har något av alternativen.

grinditwp 2009-11-25 10:23

Citat:

Ursprungligen postat av Westman (Inlägg 20332882)
Tyvärr är det många som fortfarande använder register_globals men man brukar kunna styra det per webb mha. htaccess (php_flag register_globals off) eller om man har en egen php.ini (båda styrs av apacheinställningar). Frågan är om b-one har något av alternativen.

Man kunde som tur är, stänga av detta.

Jonas 2009-11-25 11:20

Citat:

Ursprungligen postat av grinditwp (Inlägg 20332879)
Betyder det att ALLA variabler med samma namn, typ $namn, $_POST['namn'], $_SESSION['namn'] automatiskt är samma?

Fyfan...


Nej, det beror helt och hållet på hur variabeln "variables_order" är satt. Standard är:
EGPCS = (Enviroment, Get, Post, Cookie, Session)

Så om du har $_POST['name'], $_GET['name'] & $_SESSION['name'], så kan är det $_SESSION som används. Eftersom $_POST skriver över $_GET & $_SESSION skriver över $_POST. Detta eftersom $_POST & $_SESSION kommer efter $_GET.

Mer info: http://php.net/manual/en/ini.core.ph...ariables-order

Zedrick 2009-11-25 11:46

Citat:

Ursprungligen postat av grinditwp (Inlägg 20332883)
Man kunde som tur är, stänga av detta.

Och det är - som det bör vara - Off som default hos one.com.

hnn 2009-11-25 11:59

Det är inte session.bug_compat_42 som ställer till det?

Citat:

Ursprungligen postat av php.ini
; PHP 4.2 and less have an undocumented feature/bug that allows you to
; to initialize a session variable in the global scope, albeit register_globals
; is disabled. PHP 4.3 and later will warn you, if this feature is used.
; You can disable the feature and the warning seperately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled.

session.bug_compat_42 = 0
session.bug_compat_warn = 0



Alla tider är GMT +2. Klockan är nu 08:47.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson