Avatar billede heha2003 Nybegynder
25. november 2006 - 17:17 Der er 11 kommentarer og
1 løsning

Udtrækning som PHP

Jeg sidder og er ved at lave et CMS til min hjemmeside. Dermed har jeg skrevet noget PHP ind i en database og trukket det ud, men nu bliver det bare trukket ud som rå tekst istedet for PHP. Hvordan kan man trække det ud som PHP?
Avatar billede showsource Seniormester
25. november 2006 - 17:22 #1
eval()

udtræk fra DB

eval('?>'. $vis["indhold"] .'<?php ');
Avatar billede simplus Nybegynder
25. november 2006 - 17:22 #2
Uddyb dig selv, giv et exempel på hvad der bliver indsat i databasen?
Avatar billede showsource Seniormester
25. november 2006 - 17:30 #3
Et eks.

<?php

$indhold = "Hejsa<br />
Her er lidt phpkode<br />
<?php
echo 'eval() kan bl.a. bruges til at afvikle kode som er gemt i DB';
?>";

eval('?>'. $indhold .'<?php ');

}
?>

$indhold er så det som gemmes i DB
Avatar billede arne_v Ekspert
25. november 2006 - 17:31 #4
husk at brug af eval har nogle security aspekter som skal overvejes meget nøje
Avatar billede heha2003 Nybegynder
25. november 2006 - 18:36 #5
Simplus:
  Okay, jeg har insat noget lignende dette:
  <?php
  require 'functions.php';
  print_header();
  echo "Teksten der skal vises";
  print_footer();
  ?>
  Og det er så der, det trækkes ud som rå tekst istedet for udførelse af funktionerne.


Arne v:
  Hvilke security aspekter er det?
Avatar billede simplus Nybegynder
25. november 2006 - 18:49 #6
Så vil jeg da mene at du kan bruge highlight_string() hvis du ellers kan leve med at farverne skifter visse steder i koden - men det er kun for at gøre det pænere og mere overskueligt. - Og med den kode mener jeg ikke der skulle være sikkerheds problemer.
Avatar billede showsource Seniormester
25. november 2006 - 18:52 #7
Hvad er det du vil?
"men nu bliver det bare trukket ud som rå tekst istedet for PHP"
lyder jo som du vil ha' afviklet koden som er gemt i DB.
HVis du blot vil vise koden, så er det highlight_string()

M.h.t. til eval() skal du være stensikker på hvad du "eval'er" Ellers vil en bruger jo kunne "ommøblere" hele sitet
Avatar billede heha2003 Nybegynder
25. november 2006 - 19:41 #8
Showsource:
  - Jeg vil gerne have koden afviklet, og jeg har også fået det til at virke med eval().
  - Hvad mener du med at man vil kunne ommøblere på det? Så skal man jo offentliggøre     
    hvad source-koden er i en textarea. Eller er jeg forkert på den?
Avatar billede showsource Seniormester
25. november 2006 - 19:47 #9
Jahh, men hvis du gemmer input fra en bruger i DB og derefter afvikler den, kan den jo skade din side.
Men er det kun dig som gemmer i DB er risikoen nok ikke så stor.
Men enhver comp kan jo hackes! :O)
Avatar billede heha2003 Nybegynder
25. november 2006 - 20:02 #10
Showsource:
  - Nej det er rigtig nok:P
  - Ja, det kan de jo:P
  - Smider du lige et svar?
Avatar billede showsource Seniormester
25. november 2006 - 20:09 #11
ok
Avatar billede heha2003 Nybegynder
25. november 2006 - 20:34 #12
Du har hermed fået points
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