/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Jeg har fundet fejlen, men hvorfor?
Fra : Gundersen


Dato : 20-02-02 12:34

Hej

Jeg har fundet ud af at når jeg skriver
www.scooterzone.dk/go.php?goto=xxxxx sker der ikke noget!
Normalt ville scriptet gå ind og indkludere en fil der så hed det samme
som xxxxx!


Hvorfor fanden er serveren begyndt at lave være med at kunne fatte det
efter ? tegnet?

Det har virket indtil i fredags, men nu virker det ik mere!

Hvad skal jeg gøre? Skal jeg brokke mig til Azero.dk der har serveren?

Mvh Emil

--
www.Scooterzone.dk


 
 
Gundersen (20-02-2002)
Kommentar
Fra : Gundersen


Dato : 20-02-02 12:47

Hej igen!

> Jeg har fundet ud af at når jeg skriver
> www.scooterzone.dk/go.php?goto=xxxxx sker der ikke noget!
> Normalt ville scriptet gå ind og indkludere en fil der så hed det samme
> som xxxxx!
> Hvorfor fanden er serveren begyndt at lave være med at kunne fatte det
> efter ? tegnet?


Jeg har fået svar på det!
det er fordi at Serveren før stod til Register_globals = on, hvor den nu
er sat til off. Dette er af sikkerheds messige grunde!

Man skal bare lige sætte denne lille kode ind, sår virker det!

if($HTTP_POST_VARS){
foreach($HTTP_POST_VARS as $Key=>$Value)
{
$$Key = $Value;
}
}

if($HTTP_COOKIE_VARS){
foreach($HTTP_COOKIE_VARS as $Key=>$Value)
{
$$Key = $Value;
}
}

if($HTTP_GET_VARS){
foreach($HTTP_GET_VARS as $Key=>$Value)
{
$$Key = $Value;
}
}

if($HTTP_SERVER_VARS){
foreach($HTTP_SERVER_VARS as $Key=>$Value)
{
$$Key = $Value;
}
}

if($HTTP_ENV_VARS){
foreach($HTTP_ENV_VARS as $Key=>$Value)
{
$$Key = $Value;
}
}
-------

Mvh Emil

--
www.Scooterzone.dk


Jonas Koch Bentzen (20-02-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 20-02-02 13:07

Gundersen skrev:
>
> det er fordi at Serveren før stod til Register_globals = on, hvor den
> nu er sat til off. Dette er af sikkerheds messige grunde!
>
> Man skal bare lige sætte denne lille kode ind, sår virker det!
>
> if($HTTP_POST_VARS){
> foreach($HTTP_POST_VARS as $Key=>$Value)
> {
> $$Key = $Value;
> }
> }
>
> if($HTTP_COOKIE_VARS){
> foreach($HTTP_COOKIE_VARS as $Key=>$Value)
> {
> $$Key = $Value;
> }
> }
>
> if($HTTP_GET_VARS){
> foreach($HTTP_GET_VARS as $Key=>$Value)
> {
> $$Key = $Value;
> }
> }
>
> if($HTTP_SERVER_VARS){
> foreach($HTTP_SERVER_VARS as $Key=>$Value)
> {
> $$Key = $Value;
> }
> }
>
> if($HTTP_ENV_VARS){
> foreach($HTTP_ENV_VARS as $Key=>$Value)
> {
> $$Key = $Value;
> }
> }

Det kan gøres hurtigere:

$array = array_merge($HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_GET_VARS,
$HTTP_SERVER_VARS, $HTTP_ENV_VARS);

foreach ($array as $key => $value) {
$$key = $value;
}

I PHP 4.1.0 og senere versioner skal arrayene nævnt i array_merge()
udskiftes med nogle andre arrays.

Bemærk i øvrigt, at både din og min metode giver problemer, hvis et af
elementerne i f.eks. $HTTP_GET_VARS er et array.

Bemærk også, at hele fidusen med at sætte register_globals til off
ligesom forsvinder, når man laver ovenstående nummer.

--
Jonas Koch Bentzen

PHP-databaseklasse til PostgreSQL og MySQL:
http://understroem.dk/fasdab/

Gundersen (20-02-2002)
Kommentar
Fra : Gundersen


Dato : 20-02-02 19:47

Hej Jonas

> Det kan gøres hurtigere:
>
> $array = array_merge($HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_GET_VARS,
> $HTTP_SERVER_VARS, $HTTP_ENV_VARS);
>
> foreach ($array as $key => $value) {
> $$key = $value;
> }

Ja det var da noget nemmere!


> I PHP 4.1.0 og senere versioner skal arrayene nævnt i array_merge()
> udskiftes med nogle andre arrays.
>
> Bemærk i øvrigt, at både din og min metode giver problemer, hvis et af
> elementerne i f.eks. $HTTP_GET_VARS er et array.
>
> Bemærk også, at hele fidusen med at sætte register_globals til off
> ligesom forsvinder, når man laver ovenstående nummer.


Det er Azero.dk der selv foreslår det!
Mvh Emil



--
www.Scooterzone.dk


Jonas Koch Bentzen (20-02-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 20-02-02 20:05

Gundersen skrev:
>
>> Bemærk også, at hele fidusen med at sætte register_globals til off
>> ligesom forsvinder, når man laver ovenstående nummer.
>
>
> Det er Azero.dk der selv foreslår det!

Hvem siger, de har forstand på PHP? : )

--
Jonas Koch Bentzen

http://understroem.dk/

Jonas Delfs (22-02-2002)
Kommentar
Fra : Jonas Delfs


Dato : 22-02-02 19:00

Jonas Koch Bentzen <ingen.emailadresse@eksempel.dk> wrote in message news:<a503ht$kfq$1@sunsite.dk>...

> foreach ($array as $key => $value) {
> $$key = $value;
> }

extract()? :)

> I PHP 4.1.0 og senere versioner skal arrayene nævnt i array_merge()
> udskiftes med nogle andre arrays.

Rolig nu. De nye "superglobals" skrotter ikke $HTTP_*_VARS lige
foreløbigt. (dvs. højst sandsynligt fra og med version 5.0)

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408952
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste