Avatar billede encorez Nybegynder
20. januar 2014 - 08:51 Der er 10 kommentarer og
1 løsning

Rette htaccess

Hej

Jeg har en reklame hjemmeside for et firma, som der næste aldrig logges ind på.
Surftown har åbenbart ændret noget, så jeg sender en variabel XXX i en formular, så kan min receiving-side ikke fange den blot ved at skrive $XXX, men jeg er nødt til at skrive $_REQUEST[XXX].
Det er sikkert dårlig programmering fra min side, men det virkede før hen, og jeg vil nødig til at rette al min kode til.
Så er der ikke en måde hvorpå man kan ændre nogle indstillinger, så min receiving-side igen kan fange variable blot med $XXX?
Uden at bruger $_REQUEST[].

Mvh. Simon
Avatar billede Slater Ekspert
20. januar 2014 - 08:55 #1
Du kan slå register_globals til i PHP-versioner under 5.4.0, men har Surftown opgraderet til efter den version er funktionen helt fjernet fra sproget. Det er også noget rigtigt bæ, for at sige det mildt, men det er naturligvis irriterende hvis man har noget gammel kode der afhænger af det.
Avatar billede repox Seniormester
20. januar 2014 - 08:57 #2
Ja, ved at finde et sted hvor du kan få en nedgraderet version af PHP; men det tror jeg ikke du kan finde nogle steder.

Det er et sikkerhedsmæssigt problem og det omhandler registreringen af variabler i det globale scope i din applikation.

Jeg vil anbefale at du omskriver din kode og bruger $_GET og $_POST de steder du kan i stedet for $_REQUEST, da det ikke giver mening at lade både POST og GET metoderne overskrive dine variabler.
Avatar billede Slater Ekspert
20. januar 2014 - 09:27 #3
Du kan dog også gøre det nemmere end det, ved selv at registrere alle globals.

Hvis du sætter følgende kode ind i starten af dit PHP:

foreach ($_REQUEST as $key => $val) {
  ${$key} = $val;
}

- Så udfører det samme funktion. Men igen, det er ikke anbefalet at gøre.
Avatar billede repox Seniormester
20. januar 2014 - 09:27 #4
adr... :p
Avatar billede Slater Ekspert
20. januar 2014 - 09:35 #5
Haha. Jep, adr.

Det medfører nogle grimme sikkerhedsproblemer, men hvis det ikke er vigtigt, og OP bare ikke gider trawle et ton kode igennem for at lave de rettelser, så er det en mulighed.
Men encorez, husk endelig at sætte den kode som det allerførste på siden, så det ikke kan overskrive variabler du sætter senere.
Avatar billede michael_stim Ekspert
20. januar 2014 - 10:13 #6
#viperine

Nu har du kommet med 2 forslag på hvad OP IKKE burde gøre og selv taget afstand fra det??? I mine øjne er det vel bedre at skrive hvad OP BURDE/SKAL gøre, eller?
Avatar billede Slater Ekspert
20. januar 2014 - 10:18 #7
Hvad?

For det første er jeg kun kommet med ét forslag, for det andet har jeg sagt at det er en dårlig idé at bruge, men at hvis man ikke bekymrer sig så meget om sikkerhed og bare ikke gider bruge tid på at rette koden til, så er det et acceptabelt alternativ.

Jeg synes jeg har været temmelig konsistent, samtidig med at jeg har advaret om, at det altså ikke er uden problemer.

Det er netop forslag om hvad OP burde gøre: enten bruge den usikre men nemme løsning, eller skrive det om så det er bedre. At nedgradere PHP-versionen er tåbeligt. Der er ikke andre muligheder.

Jeg forstår virkelig overhovedet ikke din kommentar.
Avatar billede michael_stim Ekspert
20. januar 2014 - 10:32 #8
Hvad er det du ikke forstår? Det jeg skriver, er at man måske skulle være lidt forsigtig med hvad man lærer andre. Du skriver jo selv, flere gange, at der er en sikkerhedsrisiko ved at bruge dit forslag.

"Det er netop forslag om hvad OP burde gøre: enten bruge den usikre men nemme løsning, eller skrive det om så det er bedre. At nedgradere PHP-versionen er tåbeligt. Der er ikke andre muligheder." I den sætning er der i mine øjne kun én ting OP burde gøre. Altså ingen valgmulighed.

Det var ikke et umotiveret angreb på dig, men lidt konstruktiv kritik.
Avatar billede encorez Nybegynder
20. januar 2014 - 12:43 #9
Hej alle

Mange tak for jeres hjælp og indlæg.
Jeg kan ikke nedgradere PHP versionen hos Surftown, den ligger jo fast.
Sikkerhed er på denne hjemmeside ikke i højsædet, så jeg har taget den nemme vej med den kode du komer med viperine.
Den så ud til at virke. Det er ikke pænt nej, men så passer det til resten af min kode ;)
repox, tak for forslaget med omkodning. Jeg ved det er det rigtige at gøre, men jeg vælger den dovne og nemme vej.

Læg begge et svar som tak for hjælpen
Avatar billede Slater Ekspert
20. januar 2014 - 16:24 #10
Svar
Avatar billede nn_surftown Nybegynder
20. januar 2014 - 22:00 #11
Hej encorez

Det er lidt sent jeg kommer ind i denne tråd, men du får alligevel et officielt svar fra os - Surftown.

Det er rigtigt, at vi har slået register_globals fra. Det er et spørgsmål om sikkerhed, i det register_globals åbner op for nogle meget nasty sikkerhedshuller i de fleste PHP-applikationer.

Jeg er dog glad for at høre, at viperine kunne hjælpe dig med den simple, men dog effektive stump kode. Det er jo altid godt I kan hjælpe hinanden, inden jeg når at se jeres posts herinde. :-)

Hav en god aften allesammen!

De bedste hilsner,
Nicolas Nezzo
Social Media Manager
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester