Url rewrite.

Oj.
Uporabljam url rewrite zaradi SEO in da preprecim mysql injection in me zanima, ce je moznost, da bi pac php fajle naredil nedostopne od zunaj(torej da jih samo apache lahko uporablja) ob primeru, da nekdo ugani file name...sem tudi ze razmisljal, da bi filtiral inpute z regexom ampak se mi zdi bolj zamudna resitev.

LP

5 odgovorov

Pri vecini resnih hostingih imas private folder kateri ni dostopen preko internet in tako lahko zavarujes datoteke.

Mam zakupljen dedicated, kjer nimam cpanela in nic...tako da bi vrjetno moral nrdit preko htaccess...

No sem kar ubral pot z regexom...

Ce mogoce kdo rabi...

preg_match_all("/([0-9]+)/", $_GET['x'], $matches);
$x = $matches[1][0];

LP

Če te zanima, CodeIgniter ima to tako rešeno, da v index.php (ki je vstopna točka za vse requeste) definira eno konstanto, potem pa v vseh ostalih datotekah na samem začetku imaš narejen check v smislu:

if( ! defined('BASEPATH')) { die('Direct script access not allowed'); }

Razmisljal sem tudi, da bi url rewrite lahko poslal neki custom nepomemben GET npr

video.php?videoid=123&x=salama

in potem v video.php

if($_GET['x']!='salama') die();

Ampak vseeno mislim, da je regex najboljsa zascito tudi ce nekdo ugani filename...

LP