[php] index.php/blaat (beveiliging)

Pagina: 1
Acties:

  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Topicstarter
Als iemand achter index.php/blaat of iets dergelijks zet worden mijn variabelen uit index.php niet "doorgegeven" aan de functies die ik include (total.php). ik heb een var $documentroot en $serverroot, normaal kan ik deze in total.php aanroepen. Maar met die /blaat er achter niet meer.

Hoe verhelp ik dit?

as example:
http://www.stefan.nl/index.php
http://www.stefan.nl/index.php/blaat

Steun Elkaar, Kopieer Nederlands Waar!


Verwijderd

Ik ben voor mijn site toevallig ook met dat prob bezig. Als je op php.net zoekt naar de functie path_parts() dan staat in het commentaar jouw oplossing ;)

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

[topic=58513]

Wat jij zoekt heet multiviews...

Er is al meerder topics over geweest, kan je heel veel over vinden in de search.

De link die ik heb gegeven is lekker kort maar duidelijk.

:Y)

Programmer - an organism that turns coffee into software.


  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Topicstarter
neeeee dat zoek ik niet!

als iemand, voor de gein achter mijn lieve scriptje een / zet, worden mijn variabelen niet gezien in de file die ik include.

Ik post zo wat source.
(in de code zitten normaal wat filechecks, die heb ik er uitgelaten.)

index.php
code:
1
2
3
4
5
6
7
8
9
10
11
<?php
    $documentroot="http://www.stefan.nl/";
    $serverroot="/usr/local/etc/httpd/htdocs/stefan/";
    $items =  Array("home","thestory","projects","newbienews","email");
    $get=implode($argv, " ");
    if (in_array ($get, $items)==False) $get=$items[0];
    $functions=$serverroot."functions/total.php";
    include($functions);
    echo headers();
    echo body($get);
?>

total.php
code:
1
2
3
4
5
6
7
8
9
<?php
function headers()
{
    $title="Stefan.nl";
    $meta="<meta http-equiv=\"Content-Language\" content=\"nl\"><meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1$
    $stylesheet=$documentroot."functions/stylesheet.css";
    return "<head>".$meta."<title>".$title."</title><link href=\"".$stylesheet."\" rel=\"".$stylesheet."\" type=\"text/css\"></head>";
}
?>

wat er gebeurd: als er geen /blaat achter die index.php staat werkt het gewoon. Wanneer er wel /blaat acher die index.php staat kunnen de functies in total.php de vars $documentroot en $serverroot niet gebruiken.

Steun Elkaar, Kopieer Nederlands Waar!


  • tomato
  • Registratie: November 1999
  • Niet online
eldeejee: Als je op php.net zoekt naar de functie path_parts() dan staat in het commentaar jouw oplossing ;)
Waar haal je dat vandaan :?

  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Topicstarter
Op maandag 20 mei 2002 14:52 schreef tomato het volgende:

[..]

Waar haal je dat vandaan :?
ik had um ook al gemeeld daar over...

Steun Elkaar, Kopieer Nederlands Waar!


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op maandag 20 mei 2002 14:52 schreef Skinkie het volgende:
neeeee dat zoek ik niet!

als iemand, voor de gein achter mijn lieve scriptje een / zet, worden mijn variabelen niet gezien in de file die ik include.

Ik post zo wat source.
Ahhh nou begrijp ik wat je bedoelt....

HTML probleem.. :)
Je hebt de images en links relatief op gegeven aan de pagina.

Geef ze absoluut door dan werkt het wel...

Programmer - an organism that turns coffee into software.


  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Topicstarter
Oh duh..........
die hele $documentroot en $serverroot zijn juist om dat probleem op te lossen. Maarja als die niet worden doorgegeven bij een /blaat ja dan heb ik ook geen absoluut path.

edit:
(kijk maar naar $stylesheet)

Steun Elkaar, Kopieer Nederlands Waar!


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op maandag 20 mei 2002 15:04 schreef Skinkie het volgende:
Oh duh..........
die hele $documentroot en $serverroot zijn juist om dat probleem op te lossen. Maarja als die niet worden doorgegeven bij een /blaat ja dan heb ik ook geen absoluut path.
Scope van de variablen!

http://nl.php.net/manual/nl/language.variables.scope.php

documentroot zijn geen globale variablen en dus niet benaderbaar zolang je ze niet globaal maak!

Persoonlijk zou ik een define gebruiken. Deze zijn automatisch globaal en je kunnen ook niet worden overschreven.

Programmer - an organism that turns coffee into software.


  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Topicstarter
Op maandag 20 mei 2002 15:09 schreef LuCarD het volgende:

[..]

Scope van de variablen!

http://nl.php.net/manual/nl/language.variables.scope.php

documentroot zijn geen globale variablen en dus niet benaderbaar zolang je ze niet globaal maak!

Persoonlijk zou ik een define gebruiken. Deze zijn automatisch globaal en je kunnen ook niet worden overschreven.
keej :) kun je me dan ook uit leggen waarom ze zonder /blaat wel toegankelijk zijn en met /blaat niet?

Steun Elkaar, Kopieer Nederlands Waar!


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Nee dat kan ik niet...

En dat zijn ze ook niet... :)

Uit de html source code van index.php zonder blaat etc
code:
1
<link href="functions/stylesheet.css" rel="functions/stylesheet.css" type="text/css">

Programmer - an organism that turns coffee into software.


  • Sjaaky
  • Registratie: Oktober 2000
  • Laatst online: 03-09 23:48
Skinkie:
als iemand, voor de gein achter mijn lieve scriptje een / zet, worden mijn variabelen niet gezien in de file die ik include.
Als iemand dat doet, moet hij gewoon niet verwachten dat de site nog werkt.

  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Topicstarter
als iemand dat op de tmf site deed... kreeg ie andere user accountjes. ik wil dat mijn site dat gewoon afvangt.

[quote
code:
1
<link href="functions/stylesheet.css" rel="functions/stylesheet.css" type="text/css">


[/quote]

ik denk dat ik gisteravond voor het verkeerde woord het $-teken heb gezet :)

Steun Elkaar, Kopieer Nederlands Waar!

Pagina: 1