Gå til innhold

Anbefalte innlegg

hei, jeg driver å jobber med en spill portal, så er det en ting jeg lurer på.. for jeg er ganske fersk med php.

 

Jeg har altså linket til en side:

 

<?php
if ($side == "Nyheter"){ include("news/news.php"); } 
elseif ($side == "Spill"){ include("spill.php"); } 
else{ include("news/news.php"); } 
?>

 

så lurte jeg på en liten ting, inn på spill siden, så skal jeg ha flere linker... hvordan kan jeg da dra denne linkingen lengere, hvis dere skjønner hva jeg mener =)

 

altså, legge flere kategorier i selve spill linken.

Endret av XaroN_
Lenke til kommentar
Videoannonse
Annonse

Jeg synes du har gjort det på en vrien måte der...

<?php

$side = $_GET['side'];

 

include("$side.php");

?>

 

Det er vel den letteste. Spør du meg.

 

Jeg skjønte ikke helt spørsmålet, men mener du å include to forskjellige sider? Da kan du bare lage linkene slik:

index.php?side=news&meny=spillmeny

Lenke til kommentar

<?
$side = $_GET['side'];
if (!file_exists($side . '.php')) {
$side = 'forside';
}
if (empty($side)) {
$side = 'forside';
}
$siden = "./$side.php";
include($siden);

?>

litt mer fullstendig versjon av toolshed sin.

det den egentlig gjør er å hente det som skrives som side= i adresselinjen, om det ikke finnes eller det er tomt der settes siden til forside, eller du kan legge inn en 404.

Lenke til kommentar

Ellers kan jeg anbefale deg å se på switch som en erstatning til lange if setninger...

 

LINK

 

JEg bruker dette på enkelte sider, det kan brukes som et include script, men er og kjekt at man kan ha kode rett i index fila. Hvis man bare har en liten utlisting function så er det jo lettere å legge den i index fila enn å lage en ny og include den.

Men det er jo klart at man må ha litt sånt da for at det skal lønne seg.

Lenke til kommentar
Jeg synes du har gjort det på en vrien måte der...

<?php

$side = $_GET['side'];

 

include("$side.php");

?>

 

Det er vel den letteste. Spør du meg.

 

Jeg skjønte ikke helt spørsmålet, men mener du å include to forskjellige sider? Da kan du bare lage linkene slik:

index.php?side=news&meny=spillmeny

dette er kronisk usikkert og årsaken til mange vellykkede hacker-angrep og deface'de servere.

 

aldri la besøkeren bestemme direkte hvilken fil som skal inkluderes, gjør det vha indeksering f.eks

 

EDIT: eller slik som trådstarter har foreslått selv

Endret av Torbjørn
Lenke til kommentar
Jeg synes du har gjort det på en vrien måte der...

<?php

$side = $_GET['side'];

 

include("$side.php");

?>

 

Det er vel den letteste. Spør du meg.

 

Jeg skjønte ikke helt spørsmålet, men mener du å include to forskjellige sider? Da kan du bare lage linkene slik:

index.php?side=news&meny=spillmeny

dette er kronisk usikkert og årsaken til mange vellykkede hacker-angrep og deface'de servere.

 

aldri la besøkeren bestemme direkte hvilken fil som skal inkluderes, gjør det vha indeksering f.eks

 

EDIT: eller slik som trådstarter har foreslått selv

hvis du har en login med session og legger en php kode i toppen av hver fil som skal beskyttes kan du vel bruke er script som henter den filen brukeren vil?

Lenke til kommentar
Jeg synes du har gjort det på en vrien måte der...

<?php

$side = $_GET['side'];

 

include("$side.php");

?>

 

Det er vel den letteste. Spør du meg.

 

Jeg skjønte ikke helt spørsmålet, men mener du å include to forskjellige sider? Da kan du bare lage linkene slik:

index.php?side=news&meny=spillmeny

dette er kronisk usikkert og årsaken til mange vellykkede hacker-angrep og deface'de servere.

 

aldri la besøkeren bestemme direkte hvilken fil som skal inkluderes, gjør det vha indeksering f.eks

 

EDIT: eller slik som trådstarter har foreslått selv

hvis du har en login med session og legger en php kode i toppen av hver fil som skal beskyttes kan du vel bruke er script som henter den filen brukeren vil?

det spørs om du stoler på brukerne.

 

jeg ser ingen grunn til å stole på at brukere som registrerer seg på mine sider ikke kommer til å prøve å roote min server. jeg vet ingenting om hvor skjødesløse de er med sitt passord og hvis de tar over servern kan de også teoretisk skjule alle spor.

Lenke til kommentar
det spørs om du stoler på brukerne.

 

jeg ser ingen grunn til å stole på at brukere som registrerer seg på mine sider ikke kommer til å prøve å roote min server. jeg vet ingenting om hvor skjødesløse de er med sitt passord og hvis de tar over servern kan de også teoretisk skjule alle spor.

er ikke snakk om registrering her. de som har passord og brukernavn vet jeg hvem er og disse vil ikke gjøre noe skade.

vil da de som ikke har passord eller brukernavn ha mulighet til å gjøre noe skade med en sånt script?

Lenke til kommentar
så lenge hvem som helst kan få inkludere hva de vil på din side, så teoretisk ja. dette er meget dårlig praksis.

men jeg forstår ikke helt problemet? når de kan includere vet de også hvor filen er( noe jeg ikke kan hindre de i å finne ut) hvorfor kan de da ikke bare gå direkte til filen de vil ha?

Lenke til kommentar
så lenge hvem som helst kan få inkludere hva de vil på din side, så teoretisk ja. dette er meget dårlig praksis.

men jeg forstår ikke helt problemet? når de kan includere vet de også hvor filen er( noe jeg ikke kan hindre de i å finne ut) hvorfor kan de da ikke bare gå direkte til filen de vil ha?

Tja, dersom du har en dårlig konfigurert webserver i *nix kan jo bare brukeren requeste noe slikt som "/etc/passwd" og nappe ut passordfila di. Og dersom du av en syk grunn lar root kjøre webserveren kan han jo bare hente shadowfila i samme slengen og så har han noe å leke med. Serveren har jo tilgang til langt flere filer enn det brukeren kan hente ut vha addresselinja i browseren. Uansett veldig dum måte å bygge en side på. Er det en sikkerhetsrisiko så hold deg unna.

 

Støtter Torbjørn fullt og helt i den saken her.

 

Edit: Pokker, han var før meg gitt...

Endret av Neo
Lenke til kommentar

At mitt forslag var dårlig er det jo ikke tvil om. Jeg mente ikke at han skulle bruke det jeg skrev direkte uten omskriving. Jeg mente bare at han burde includere en variabel for å slippe alle if-ene.

 

De skriptene jeg pleier å bruke er veldig likt Smidt sitt, nemlig at den sjekker om filen eksisterer, og hvis ikke includer en 404-fil.

Lenke til kommentar

jeg forklarte det på en dårlig måte...

på indexen så har jeg den koden som jeg skrev på toppen.

når man trykker på linken "spill" så kommer mann inn på en ny side, der man kan velge hvilket spill man skal lese om.

 

jeg trenger en enkel måte å organisere disse linkene.

 

jeg leter ikke etter en annen måte, for jeg liker det sånn som jeg har det =P.

Endret av XaroN_
Lenke til kommentar

Smidt sin var vel greit (la på en ./ før $side), men bare det å sjekke at siden eksisterer vil neppe hjelpe..

 

Jeg selv bruker en slags indeksering.. helt sikkert, ikke noe tull.. men nå har ikke jeg så mange seksjoner på siden min da, har man MANGE seksjoner, kan det bli tull.. (Da snakker jeg MANGE.. legge inn 30-40 stk er ikke noe prob..)

 

##Eksempel:
$tillat_seksjon = "";
$tillat_seksjon = array("nyheter" => ".php",
                       "admin" => ".php");

if(!($seksjon)) { #Grunnen til denne er at array_key_existst i neste if klager villt om $seksjon ikke finnes...;)
   $seksjon = "nyheter";
};

if(array_key_exists($seksjon, $tillat_seksjon)) {
   include("$seksjon" . $tillat_seksjon[$seksjon]);
}
else {
   include("nyheter.php");
};

Her er det da bare lov å sette "nyheter" og "admin" inn i $seksjon.. om $seksjon er noe annet blir bare nyheter.php inkludert.. om man vil ha flere sider, er det bare å legge inn flere sider i $tillat_seksjon arrayet.. :)

 

MEN:

over til XaroN_ ;)

i spill.php kan du jo også bruke en if eller en switch...

if($_GET['spill'] == "Halo_2") {
include("spill/halo_2.php");
}
elseif(blablabla) {
include bla-bla;
}
else {
echo "Velg spill:<br><a href='?side=Spill&spill=Halo_2'>Halo2</a><br>osv....";
};

Eller med switch....

switch($spill) {
case Halo_2:
include("spill/halo_2.php");
break;
case Halflife2:
include("spill/halflife2.php");
break;
default:
echo "Velg spill:<br><a href='?side=Spill&spill=Halo_2'>Halo2</a><br>osv....";
break;
};

Kan være tungvint med mange spill, men det virka som om det var slik som dette du ville ha det ;):p

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...