Avatar billede repox Seniormester
26. marts 2003 - 11:11 Der er 11 kommentarer og
1 løsning

PHP Generelt

Efterhånden som jeg har fået en lille amatørserver op at køre med apache 2.0.1.3 (tror jeg nok) og den nyeste version af php på win32 har jeg oplevet visse problemer med at sende variabler videre i form af post.

f.eks.

<?php

echo '<a href="denneside.php?action=test">Test link</a><p>';

if ($action == "test) {
echo'Linket virker...'; };

?>

ovenstående vil ikke længere virke, men efter lang gennemgang af opbygningen af phpMyAdmin fandt jeg en fil som bliver inkluderet i alle de andre filer i phpMyAdmin som gør at jeg sagtens kan sende links videre på den måde og bruge post.

Mit spørgsmål er så om det ligefrem er nødvendigt at bruge det script eller om der er en enklere måde at få det til at virke på ?
Avatar billede barlach Nybegynder
26. marts 2003 - 11:19 #1
sæt register_globals=on i php.ini
Avatar billede exp Juniormester
26. marts 2003 - 11:27 #2
<?php

echo "<a href='denneside.php?action=test'>Test link</a><p>";

if ($_REQUEST['action'] == 'test') {
  echo "Linket virker...";
} else {
  echo "Linket virker <b>ikke</b>";
}

?>
Avatar billede exp Juniormester
26. marts 2003 - 11:36 #3
Ser du vælger at sætte register_globals=on i php.ini...

Dette er sådan set også fint nok, men grunden til at det er sat til netop off er at de udgør en betydelig sikkerhedsrisiko...

Det er de færreste webhoteller idag, der tilbyder at sætte register_globals=on, så jeg synes du skal overveje at bruge lidt tid på at opdatere dine PHP-koder...

$_POST
$_GET
$_REQUEST
$_SERVER
Avatar billede repox Seniormester
28. marts 2003 - 16:50 #4
exp > Det ville absolut være det bedste for mig at få opdateret mine PHP koder, og jeg kan sagtens se problemet i at sætte register_globals=on, men jeg har forsøgt at læse mig lidt frem til det koder du nævner der, men jeg forstår ikke helt brugen af dem!
Avatar billede exp Juniormester
31. marts 2003 - 10:50 #5
Så har du ikke kigget de rigtige steder...

Jeg står stadig fast på, att du IKKE skal sætte register_globals = on i php.ini!!!

http://www.showsource.dk/artikler/vis_artikel.php?id=1043169805
Avatar billede barlach Nybegynder
31. marts 2003 - 10:55 #6
slap dog af exp.
Det er rigtigt at det anbefales at bruge $_POST/$_GET men shady spurgte efter:
om der er en enklere måde at få det til at virke på ?
og det er jo at sætte den i php.ini...og det må han vel egentlig selv om??!
Avatar billede exp Juniormester
31. marts 2003 - 13:06 #7
tror vist bare jeg glemte en smiley :o)

Der var ingen sure miner bag indlægget...
Avatar billede barlach Nybegynder
31. marts 2003 - 13:09 #8
=)
Avatar billede repox Seniormester
31. marts 2003 - 14:12 #9
exp )> ideen med det indlæg på showsource.dk var i princippet meget god, men for mig virker det som paranoia!

Nu laver jeg et eksempel hvor jeg har postet to variabler fra en bruger med en cookie, ikke ?

Eks.
<?php

if (isset($HTTP_COOKIE_VARS[cookie])) {

if (!empty($_POST[variable1]) && !empty($_POST[variable2])) {
echo '
Der blev postet to variabler:<br>
Variabel 1: '.$_POST[variable1].'<br>
Variabel 2: '.$_POST[variable2].'<p>';
} elseif(empty($_POST[variable1]) || empty($_POST[variable2])) {
echo 'En af variablerne er tomme...';
}

} elseif{!isset($HTTP_COOKIE_VARS[cookie])) {

echo 'Du har ingen cookie';

}
?>

Jeg burde mene at ovenstående er sikkert nok og at det rent faktisk virker! Men som nævnt tidligere, så er jeg ikke ligefrem prof. php-programmør og vil derfor ikke vove at påstå at det er idiotsikret!

Jeg kan sagtens se idéen i at bruge $_POST og $_GET for så kan man ikke smide variablerne ind i via URL'en.

Det har så været lidt af en opslagsting at finde ud af hvad $_SERVER kunne bruges til og jeg må indrømme at jeg har kun fundet ud af at PHP_SELF kan bruges i den, og jeg fatter ikke hvad $_REQUEST er til!

Jeg har kigget lidt på php.net men føler ikke rigtig det hjælper mig, men hvis du har et godt link til hvor jeg kan læse om mulighederne med $_POST, $_GET, $_SERVER og $_REQUEST og eventuelt dem der eksisterer, så ville det være til stor hjælp for mig...
Avatar billede hbhansen Nybegynder
31. marts 2003 - 14:15 #10
På denne side kan du læse om hvordan du omgår problemet og stadig bibeholder din oprindelige kode.
http://www.web10.dk/footer.php?area=faq&id=4
Avatar billede exp Juniormester
31. marts 2003 - 14:49 #11
Der står også her hvad man kan gøre - Jeg kan ikke lige finde noget konkret lige nu, men har da læst en del artikler om emnet. Men det er jo som det er: "Surfe, surfe, surfe - hov, spændende artikel - surfe videre, surfe videre surfe videre..."

Vil ikke tvinge dg til at ændre hele skidtet, men synes du bør overveje det...

Her er også en metode til at omgå register_globals = off:
http://www.azero.dk/?/support/programmering/php/register-globals/
Avatar billede repox Seniormester
01. april 2003 - 16:03 #12
De links i er kommet med er meget gode, men som exp snakker om ville det være en god ide at ændre hele pisset, hvilket jeg så også har valgt at gøre!

Det er vigtigt for alle at sikkerheden er i top og koden er usårlig! Men det kræver at man sætter sig ind i sikkerheden ved php, og jeg gør virkelig hvad jeg kan!

I skal ihvertfald have tak for hjælpen... :)
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