Avatar billede dmg Nybegynder
09. juni 2004 - 12:09 Der er 17 kommentarer og
1 løsning

include med værdier

Hej eksperter.

Jeg har en ret stor kode, i min index.php, med forskellige div tags.

Hvis noget går galt skal denne kode køres:

$sitename1 = $_SERVER["HTTP_REFERER"] .'taxa/index.php?kuponnr=0';
    include "$sitename1";
    print "<script language='javascript'>";
    $msg = "alert('Du skal skrive de første 7 cifre på kuponnummert')";
    print $msg;

Det virker også fint i min php expert editor, men så snart jeg kopier den ud min webserver, får jeg bare index.php siden frem som om jeg bare skrev include "index.php";

er der en anden måde man kan skrive ovenstående på?
Avatar billede Slettet bruger
09. juni 2004 - 12:16 #1
Du kan ikke include med get værdier som du prøver. Prøv sådan her:

$sitename1 = $_SERVER["HTTP_REFERER"] .'taxa/index.php';
$kuponnr = 0;
    include "$sitename1";
    print "<script language='javascript'>";
    $msg = "alert('Du skal skrive de første 7 cifre på kuponnummert')";
    print $msg;
Avatar billede dennismp Nybegynder
09. juni 2004 - 12:18 #2
referer?

du inkludere noget som brugeren kan bestemme via referen han sender med. Dvs at han faktisk kan inkluderer kode i dit program og lave mange uheldige ting.

Hvad er det du vil lave? Inkludere en fil fra dit eget domæne?

så brug

include("stil.til.fil/index.php");

hvis du skal have variablen kuponnr med

$kuponnr = 0;
include("stil.til.fil/index.php");
Avatar billede dmg Nybegynder
09. juni 2004 - 12:23 #3
ok... men den laver nu samme fejl :(

faktisk står der her:
http://dk2.php.net/manual/en/function.include.php

at det godt kan lade sig gøre ved at skrive således:

// Works.
include 'http://www.example.com/file.php?foo=1&bar=2';

Men har du ellers andre foreslag?
Avatar billede dmg Nybegynder
09. juni 2004 - 12:28 #4
det er noget internt! så det gør ik noget det ik er super sikkert!!!

i min kode har jeg denne her:

if(isset($_POST['kuponnr_serie']) && $_POST['kuponnr_serie'] == "")
  {
   
  }

Hvis if sætningen bliver kørt, skal den pege på denne ifsætning:

if (isset($_GET['kuponnr']) && $_GET['kuponnr'] == '0')
  {

  }
Avatar billede dennismp Nybegynder
09. juni 2004 - 12:29 #5
Der skal ikke stå http:// foran.. bare direkte sti (ligesom med ftp) til filen

hvis du står i
/mitwebdir/

og har en fil der hedder

/mitwebdir/index.php

så du skriver include("foo.php");

så skal denne fil ligge i /mitwebdir/foo.php

hvis den ligger i
/mitwebdir/include/foo.php

så skriver du include("include/foo.php");

får at få den med i..

det med referer er en meget skidt idé. og det gør garanteret ikke det du forventer.
Avatar billede erikjacobsen Ekspert
09. juni 2004 - 12:30 #6
brug $_GET['kuponnr']
Avatar billede erikjacobsen Ekspert
09. juni 2004 - 12:31 #7
Men generelt set, hvis det er dit eget site, skal du ikke gøre det på denne måde.
Avatar billede dennismp Nybegynder
09. juni 2004 - 12:34 #8
"det er noget internt! så det gør ik noget det ik er super sikkert!!!"

Problemet er bare, at hvis du kigger på min side .. og så går derefter over på din egen, så vil din kode forsøge at hente en fil fra min side.. Og så kan jeg snildt lægge en source op der sletter alle de filer den kan komme i nærheden af.. Og det vil se ud som om det er dit script (det er det jo egentlig også).

Nogle disabler så man ikke kan bruge include("http://") da mange ikke kan finde ud af at bruge det og de der kan ofte bruger den forkert (jeg har aldrig haft behov for det).
Avatar billede erikjacobsen Ekspert
09. juni 2004 - 12:35 #9
Der er ikke noget sikkerhedsproblem, dennis.
Avatar billede dennismp Nybegynder
09. juni 2004 - 12:37 #10
Hvorfor ikke?
Avatar billede erikjacobsen Ekspert
09. juni 2004 - 12:41 #11
Hvis det er internt, kan du ikke linke til hans side, og du kan ikke komme til at stå som referrer.

Men det er da rigtigt: det bør ikke laves på denne måde ;)
Avatar billede dennismp Nybegynder
09. juni 2004 - 12:48 #12
Med nok kendskab kan jeg da sagents linke til den interne side (som virker for den bruger der har adgang til begge, fx dmg). Det er måske omstændigt, men det er da stadig et sikkerhedsproblem.

.. og jeg håber at dmg kender sine bruger så godt at de aldrig kan finde på at smadre det for ham. Man bør aldrig stole på brugeren. Et andet problem :)

..men når det er sagt, så forstår jeg ikke rigtig hvad han prøver at opnå med referer. Hvis det virker, så vil det pludselig ikke virke hvis man disabler referer eller taster url'en direkte ind.  Gad vide om det er $_SERVER["SERVER_NAME"] han mener?

.. selvom han bør inkluder direkte via filsystemet :)
Avatar billede erikjacobsen Ekspert
09. juni 2004 - 12:51 #13
referrer bliver sommetider fjernet, ja.
du kan i beskrevne situation sende ham fra din side til hans, hvis han sidder indenfor,
og hans lokalnet er koblet til Internettet (det står der jo ikke noget om ....).
Jeg korrigere til at der ikke er noget stort sikkerhedsproblem ;)

Og ja, det er bestemt ikke en god løsning. Men det må spørgeren jo selv tage stilling til.
Avatar billede dennismp Nybegynder
09. juni 2004 - 12:57 #14
"Jeg korrigere til at der ikke er noget stort sikkerhedsproblem ;)"

Så du accepterer det som et problem nu? :).

Jeg tror blot vi har forskelligt syn på hvornår noget er et sikkerhedsproblem, men egentligt er enige. Så lad os lade det ligge ved det, før vi får skræmt dmg :)
Avatar billede dmg Nybegynder
09. juni 2004 - 13:27 #15
hehe... jeg er ikke spooked helt væk endnu :-) meget interessant at høre om... Jeg er lige ved at teste nogen af de ting i har skrevet, så jeg må lige vende tilbage...

Som ihvertfald dennismp ved, er jeg ikke verdens hurtigste / skarpeste person til det her php ting...
Avatar billede dennismp Nybegynder
09. juni 2004 - 13:30 #16
Så slem er du da heller ikke :-)

Du vil jo gerne lærer - og det er jo trods alt en forudsætning for at lære noget nyt, og blive dygtigt til det :).
Avatar billede dmg Nybegynder
15. juni 2004 - 08:12 #17
hhhhmmm... jeg har stadig lidt problemer med alt det her. Jeg prøver lige at bikse noget sammen, fordi lige nu er jeg faktisk lidt forvirret :-)
Avatar billede dmg Nybegynder
28. oktober 2004 - 08:54 #18
jeg lukker spørgsmålet.
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