webForumDet fria alternativet

konfigurera PHP för POST/GET

8 svar · 408 visningar · startad av Nevvy

NevvyMedlem sedan sep. 200610 inlägg
#1

Jag har just installerat WAMP på min bärara dator (Apache 2.0 och PHP5). Tidigare har jag haft apache(1.1.13(?)) och php 4 på en gammal burk. Där har jag några webbplateser som jag vill spara (skolprojekt) Dessa innehåller PHP och är kopplade till en AcessDB. Installationen har fungerat bra, men nu är problemet att formulär inte fungerar. PHP:n fungerar men skickar jag ngn info via ett formulär till en annan sida syns inget. Jag minns att jag ändrade något förra gången jag installerade PHP men minns inte vad och var, kan ngn hjälpa mig?

SjodahlMedlem sedan maj 20033 218 inlägg
#2
register_globals on

I php.ini skulle jag gissa på.

Läs gärna detta innan du ändra.

PeddaMedlem sedan juni 20006 032 inlägg
#3

Kolla vad du har för inställning i php.ini för register_globals

Om den är satt till ON så kan du hämta en variabel från ett formulär med enbart variabelnamnet

$nyVariabel = $variabelFrånFormuläret;

Om den är satt till OFF så gäller lite annat

$nyVariabel = $_POST['variabelFrånFormuläret'];

Verkar som inställningen är OFF (vilket du egentligen bör ha) men att du har gjort dina skript för inställningen ON (rekommenderas inte).

/red Jaha då skrev man för mycket så nån annan hann före. :p

SjodahlMedlem sedan maj 20033 218 inlägg
#4

Borde inför att någon annan "håller på att skriver ett meddelande" så man ser att någon håller på och skriver hehe.

NevvyMedlem sedan sep. 200610 inlägg
#5

Tack det fungerade! men varför bör man inte göra skripten på det viset?

PeddaMedlem sedan juni 20006 032 inlägg
#6

En ren säkerhetsgrej.
Om du har register_globals ON så vet du inte om variabeln kommer från ett formulär eller adressfältet.

Ha för vana att alltid använda $_POST['var'] och $_GET['var'] så funkar skripten på båda inställningarna så slipper du göra om allt om du byter webhotell eller liknande som inte har samma inställning som den innan.
Dessutom kör de flesta webbhotell med OFF som rekommenderas.

GunnarDMedlem sedan juni 20014 290 inlägg
#7

Nevvy skrev:

Tack det fungerade! men varför bör man inte göra skripten på det viset?

Säg att du i ditt skript har en variabel $foobar som du använder innan du get den något värde, då kan någon enkelt via URL'en (aaa?foobar=test) sätta ett värde på variabeln som kan göra en del oönskade saker med skriptet.

Med det nya sättet så kan man inte utifrån påverka dom vanliga variablerna utan endast dom som finns i $_POST, $_GET och $_REQUEST.

/red: något långsam! :)

/red2: En lösnings man kan använda för att slippa ändra i sina gamla skript är att för sina formulär variabler köra först i sina skript:

$aaa=$_POST['aaa'];
$bbb=$_POST['bbb'];
$ccc=$_POST['ccc'];

Då har man åtminstonne koll på vilka variabler som kommer utifrån och man kan inte utifrån skriva i variabler som inte är listade.

SjodahlMedlem sedan maj 20033 218 inlägg
#8

Japp posta gärna scriptet här annars så kan vi hjälpa dig att få igång det på ett korrekt sätt.

NevvyMedlem sedan sep. 200610 inlägg
#9

tackar för all hjälp!

Nu skall jag se om jag kan fixa skripten (när jag hinner...) Annars får ni höra frnmig igen! :)

134 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)