Autor Zpráva
cs2
Profil
Mam vytvoreno index.php a napr. uvod.txt kontakt.txt, link.txt, ABOUT.txt atd. a nechci vytvaret dalsi stranky jako kontakt.php atd. se vsema znackama atp.
Tedy kdyz treba kliknu na odkaz ABOUT v menu na strance index.php tak se mi do stranky index.php vlozi (include) obsah textovych souboru.
.
.
.
Dekuji vsem kteri mi pomohou doufam ze se nekdo najde. (-:
Casero
Profil
cs2
a co teda chceš sis sám odpověděl fce include to vyřeší, ne??
Anonymní
Profil *
to ti to mame akoze napisat?
cs2
Profil
slo by to ja s php zacinam a nejsem si jist jak to napsat musi tam bejt nejake promenne
Casero
Profil
no odkaz by byl index.php?page=about a pak bys include $page.".txt" a máš to
Anonymní
Profil *
no odkaz by byl index.php?page=about a pak bys include $page.".txt" a máš to
include( $_GET['page'].'.txt' );
Casero
Profil
cs2
jo sry..jak píše Anonymní, protože s nej. pravděpodobností máš vypnuty globální proměné
Biohazard Team
Profil *
include( $_GET['page'].'.txt' );
Tak tímhle si zaděláváš akorát na velkej problém! Tohle jsou přímo otevřený dveře pro PHP injekci, která umožní útočníkovi zničit celej tvůj web.
Mnohem lépe zabezpečený include vypadá takto:

include('./' . $_GET['page'] . '.txt');

Tím se zabrání includování skriptu ze vzdáleného serveru.
krteczek
Profil
ještě lepší je:


if((!empty($_GET['page'])) && (trim($_GET['page']) != '') &&(! preg_match("#http://#",$_GET['page'])))
{
$cesta = './' . $_GET['page'].txt;
if(file_exists($cesta))
{
include($cesta);
}
else
{
echo 'lituji, stránka neexistuje';
}
}
else
{
echo 'lituji, stránka neexistuje';
}

Jen si nejsem jistý správností toho regulárního výrazu...
krteczek
cs2
Profil
krteczek
Člen


zkousel sem napsat kod a pri nacteni se zobrazi stranka neexistuje to je asi spravne,
ale kdyz kliknu na odkaz tak se nic nestane na ukazku
cs2
Profil
kod index.php
<a href="index.php?page=ano">a</a>

<a href="index.php?page=ne">n</a>
<? if((!empty($_GET['page'])) && (trim($_GET['page']) != '') &&(! preg_match("#http://#",$_GET['page'])))
{
$cesta = './' . $_GET['page'].txt;
if(file_exists($cesta))
{
include($cesta);
}
else
{
echo 'lituji, stránka neexistuje';
}
}
else
{
echo 'lituji, stránka neexistuje';
}
?>

na servru sou este nahrany soubory ano.txt
ne.txt
Toto téma je uzamčeno. Odpověď nelze zaslat.

0