Kirjaudu sisäänKäyttäjätunnusSalasana
Kirjaa minut aina sisään automaattisesti    
Rekisteröidy
Rekisteröidy
Kirjaudu sisään tarkistaaksesi yksityiset viestit
Kirjaudu sisään tarkistaaksesi yksityiset viestit
Arkku.net Foorumin päävalikko » Ohjelmointi

Lähetä uusi viesti   Vastaa viestiin
Poistettu
Näytä edellinen aihe :: Näytä seuraava aihe  
Kirjoittaja Viesti
Poistettu
Vieras





LähetäLähetetty: 13.4.2006 12:20    Viestin aihe: Poistettu Vastaa lainaamalla viestiä

Poistettu
Takaisin alkuun
Lurulude
Arkku.net henkilökunta


Liittynyt: 01 Syy 2005
Viestejä: 213
Paikkakunta: Lohja

LähetäLähetetty: 13.4.2006 12:51    Viestin aihe: Vastaa lainaamalla viestiä

tuo kannattaisi toteuttaa helpommalla tavalla, täälläkin on esitetty useita eri ohjeita kyseiseen toimintoon.
Pikaisesti väsätty purkka, joka ajaa saman asian kuin sun mallis:
Koodi:

<?php
$i = $_GET['i'];
if($i == "")
   {
   include "newsit.php";
   }
if($i == 'jeejee')
   {
   include "jeejee.php";
   }
else
   {
   include "virhe-sivu";
   }
?>


Lefan malli, jossa taulukosta luetaan mahdolliset sivut, sekä sislätää muutamia tietoturvallisuutta lisääviä kommervenkkejä (osoitteet muotoon ?page=jotain):
Koodi:
<?php
// Listaa tahan sivut
$pages = Array (
"etusivu" => "etusivu.php",
"etu" => "etu.php",
);
// Jos sivua ei loydy, naytetaan etusivu
$page = ($_GET["page"] != "") ? $_GET["page"] : "etusivu";
if (isset($pages[$page]) AND file_exists($pages[$page])) {
include ($pages[$page]);
} else {
// Jotakin vaarin! naytetaan 404-viesti
echo "Virhe 404 - Sivua ei löydy!";
}
function MakeArray ($dir) {
global $pages;
$handle = OpenDir ($dir) or die ("Couldn't open $handle!");
while (FALSE !== ($file = ReadDir($handle))) {
if ($file != ".." AND $file != ".") {
if (is_dir($dir . $file)) {
MakeArray ($dir . $file . "/");
} else {
$pages[ereg_replace("\.(.*)$", "", $file)] = $dir . $file;
}
}
}
CloseDir ($handle);
}
?>

Elekazin malli, joka hyödyntää switchiä (osoitteet muotoon ?sivu=jotain)
Koodi:

$sivu=$_GET['sivu'];
switch($sivu){
  case etusivu:
    include "etusivu.php";
    break;
  case tiedot:
    include "tiedot.php";
    break;
  case jotain:
    include "jotain.php";
    break;
  default:
    include "etusivu.php";
    break;
}

_________________
Arkku.net Staff
Takaisin alkuun
Näytä käyttäjän tiedot Lähetä yksityinen viesti Lähetä sähköposti Käy lähettäjän sivustolla MSN Messenger
Poistettu
Vieras





LähetäLähetetty: 13.4.2006 14:01    Viestin aihe: Poistettu Vastaa lainaamalla viestiä

Poistettu
Takaisin alkuun
Poistettu
Vieras





LähetäLähetetty: 13.4.2006 14:32    Viestin aihe: Poistettu Vastaa lainaamalla viestiä

Poistettu
Takaisin alkuun
Poistettu
Vieras





LähetäLähetetty: 13.4.2006 14:48    Viestin aihe: Poistettu Vastaa lainaamalla viestiä

Poistettu
Takaisin alkuun
Poistettu
Vieras





LähetäLähetetty: 13.4.2006 17:00    Viestin aihe: Poistettu Vastaa lainaamalla viestiä

Poistettu
Takaisin alkuun
Poistettu
Vieras





LähetäLähetetty: 15.4.2006 16:21    Viestin aihe: Poistettu Vastaa lainaamalla viestiä

Poistettu
Takaisin alkuun
Poistettu
Vieras





LähetäLähetetty: 16.4.2006 1:27    Viestin aihe: Poistettu Vastaa lainaamalla viestiä

Poistettu
Takaisin alkuun
Poistettu
Vieras





LähetäLähetetty: 16.4.2006 2:20    Viestin aihe: Poistettu Vastaa lainaamalla viestiä

Poistettu
Takaisin alkuun
Lefa
Arkku.net henkilökunta


Liittynyt: 09 Lok 2004
Viestejä: 826
Paikkakunta: Tampere

LähetäLähetetty: 16.4.2006 11:38    Viestin aihe: Re: PHP - ongelma includen kanssa Vastaa lainaamalla viestiä

IronGuard kirjoitti:
okei. Toi koodi on aika jees. Ei millään pahalla mutta...
koitas heittää koodi sivuille ja kirjoittaa vaikka index.php?i=/etc/passwd
Voipi tulostua nimittäin ko. tiedoston sisältö hyvin näkyviin. Smile


Yleenä voikin, mutta arkussa tämä on tietoturvasyistä estetty Smile
Takaisin alkuun
Näytä käyttäjän tiedot Lähetä yksityinen viesti Lähetä sähköposti Käy lähettäjän sivustolla MSN Messenger
Näytä edelliset viestit:   
Lähetä uusi viesti   Vastaa viestiin    Arkku.net Foorumin päävalikko » Ohjelmointi Kaikki ajat ovat GMT + 3 tuntia
Sivu 1 Yht. 1

 
Siirry:  
Et voi kirjoittaa uusia viestejä tässä foorumissa
Et voi vastata viesteihin tässä foorumissa
Et voi muokata viestejäsi tässä foorumissa
Et voi poistaa viestejäsi tässä foorumissa
Et voi äänestää tässä foorumissa