Gå til innhold

php-kode for raskere loading av sider?


Anbefalte innlegg

Litt småtrøtt nå, så jeg tar forbehold mot feil, men her er en oppdatert versjon:

<?php
if(isset($_GET['id']))
{
	$id = $_GET['id'];
	if (file_exists('filer/'.$id.'.php') && preg_match("/^[a-z]*$/i", $id) == 1)
			include_once 'filer/'.$id.'.php';
	else
			echo 'Siden finnes ikke, prøv igjen';
}
else
	include_once 'filer/index.php';
?>

Lenke til kommentar
Videoannonse
Annonse
Selvsagt Ernie, jeg er 100% klar over det, men nå ba ikke vedkommende om et fullverdig inkluderingsscript heller (eller gjorde h*n? :p)

 

For øvrig er det unødvendig å sjekke om preg_match == 1/true ;) Du kan også legge til 0-9 samt underscore og bindestre i uttrykket.

Altså visse ting bør man sikre seg mot før man slenger det ut public. I dette tilfellet kan man f.eks lese /etc/passwd, og det er særdeles kritisk. Hvorfor det er unødvendig å sjekke om preg_match er 1 er jo sant, men å utelate det er latskap og gir dårligere lesbarhet. Jeg liker alltid å ende opp med boolske uttrykk i en if og if ($var) kan jo være hva om helst. Å legge til 0-9 + andre tegn er jo ikke noe vanskelig. Bare å legge de til sammen med a-z.

Det funker altså ikke. :hmm:

Og jeg skjønner ikke hva som er galt. Har så og si prøvd alt nå.

Det fungerer hos meg, så da lurer jeg litt på hva du faktisk gjør og har gjort. Ikke minst, kommer det opp en feilmelding?

Lenke til kommentar
Selvsagt Ernie, jeg er 100% klar over det, men nå ba ikke vedkommende om et fullverdig inkluderingsscript heller (eller gjorde h*n? :p)

 

For øvrig er det unødvendig å sjekke om preg_match == 1/true ;) Du kan også legge til 0-9 samt underscore og bindestre i uttrykket.

Altså visse ting bør man sikre seg mot før man slenger det ut public. I dette tilfellet kan man f.eks lese /etc/passwd, og det er særdeles kritisk. Hvorfor det er unødvendig å sjekke om preg_match er 1 er jo sant, men å utelate det er latskap og gir dårligere lesbarhet. Jeg liker alltid å ende opp med boolske uttrykk i en if og if ($var) kan jo være hva om helst. Å legge til 0-9 + andre tegn er jo ikke noe vanskelig. Bare å legge de til sammen med a-z.

 

Det er ikke latskap, og gir ikke dårligere lesbarhet i det hele tatt. I mine øyne gir det bare ekstra, unødvendig kode å holde styr på :)

Lenke til kommentar
Se hva du har gjort nå, Ernie - forvirret de stakkars små. :p

Ja, jeg er visst veldig flink til det :p Vel, vel, får prøve å rydde opp litt da :)

*snip*

Prøvde det på lokalserveren min, kom bare frem "File doesn't exists", ikke noe kode.

Forutsatt at den koden jeg la inn (antar du snakker om "proof of consept" koden) ligger i en fil sammen med en fil kalt file (uten .php e.l.) skal det gi "File exits", noe som vil være "feil" siden man "logisk sett" forventer at den leter etter file.php. Noe annet resultat vil være høyst interessant.

 

Index-siden får bare en ekstra header(?!), mens about.php og contact.php finnes tydeligvis ikke.

 

I "innholds-sidene" har jeg tatt med alt som står innenfor <div id="innhold></div>. Da også inkludert div id'en.

 

link

Det virker som du med eller uten vilje henter inn index.php og andre filere fra samme mappe som du er i.

 

Selvsagt Ernie, jeg er 100% klar over det, men nå ba ikke vedkommende om et fullverdig inkluderingsscript heller (eller gjorde h*n? :p)

 

For øvrig er det unødvendig å sjekke om preg_match == 1/true ;) Du kan også legge til 0-9 samt underscore og bindestre i uttrykket.

Altså visse ting bør man sikre seg mot før man slenger det ut public. I dette tilfellet kan man f.eks lese /etc/passwd, og det er særdeles kritisk. Hvorfor det er unødvendig å sjekke om preg_match er 1 er jo sant, men å utelate det er latskap og gir dårligere lesbarhet. Jeg liker alltid å ende opp med boolske uttrykk i en if og if ($var) kan jo være hva om helst. Å legge til 0-9 + andre tegn er jo ikke noe vanskelig. Bare å legge de til sammen med a-z.

 

Det er ikke latskap, og gir ikke dårligere lesbarhet i det hele tatt. I mine øyne gir det bare ekstra, unødvendig kode å holde styr på :)

Jo, det er litt latskap. Å gjøre det samme i f.eks Java går heller dårlig. Selv ikke if (int) går. Nå har jeg riktignok vært veldig vant til å jobbe med typesterke språk, så sikkert derfor jeg ser sånn på det.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...