Copy Posted November 30, 2007 Report Share Posted November 30, 2007 Sveiki! Man ir sekojoši faili lapai iekš index.php: <?php include("augsa.php"); include("kreisa.php"); include("vidus.php"); include("laba.php"); include("apaksa.php"); ?> Kad veru url: http://localhost/index.php , tad index.php failā atverās visas inklūdes, kas atspoguļo ainu, kāda ir redzama attēlā (skatīt to -> http://img521.imageshack.us/img521/194/wwwun5.jpg ). Tad nu galvenais jautājums, kā panākt to, lai nevarētu atvērt katru include failu atsevišķi, piemēram ierakstot url http://localhost/augsa.php (respektīvi, tad viņš atvērs tikai augšējo paneli), kā lai panāk, lai būtu liegums atvērt tos include failus, drīkst atvērt tikai index.php. Savādāk rodas nepatīkama situācija, kad lapa sataisīta no includēm un visai infai jāparādās atverot tikai index.php failu, nevis infu skatās ložņājot pa include failiem. Ceru, ka sapratāt, un jau iepriekš paldies par padomiem! Link to comment Share on other sites More sharing options...
andrisp Posted November 30, 2007 Report Share Posted November 30, 2007 Variants, ko es parasti izmantoju. Iekš index.php iemetu define('IS_INCLUDED', true); Un pēc tam iekš katra faila, ko negribu, lai pa tiešo ver: if (!defined('IS_INCLUDED')) die(); Link to comment Share on other sites More sharing options...
xPtv45z Posted November 30, 2007 Report Share Posted November 30, 2007 Iekš index.php ieliec $openFromIndex = true; Pārējos - if(!isset($openFromIndex)) { header("Location: index.php")} Link to comment Share on other sites More sharing options...
Copy Posted November 30, 2007 Author Report Share Posted November 30, 2007 andrisp, tavs variants strādā, tiko pārbaudīju. Paldies tev! ;) Link to comment Share on other sites More sharing options...
andrisp Posted November 30, 2007 Report Share Posted November 30, 2007 xPtv45z, un es (pārlūks) vienkārši ignorēju tavu headeri :). Ar to gribēju pateikt, ka die() ir obligāti vajadzīgs. Link to comment Share on other sites More sharing options...
bubu Posted November 30, 2007 Report Share Posted November 30, 2007 Vai nav vienkāršāk ielikt inklūdējamos failus ārpus weba direktorijas. Piemēram, kautvai vienu direktoriju augstāk? Link to comment Share on other sites More sharing options...
MC_ Posted November 30, 2007 Report Share Posted November 30, 2007 Ja nu galigi nevelies lai useri tiek includēm klāt, tad includes leic aartpus webroot. Taa pat ir ieteicams. Domaa buus daudz bakstiitaaju, kas pieprasiis /augsa.php utt? - Nē! Link to comment Share on other sites More sharing options...
andrisp Posted November 30, 2007 Report Share Posted November 30, 2007 Reizēm tehniski nav iespējams likt failus ārpus web root (piem., kad ir tikai ftp pieeja ar root diru uz publisko diru). Link to comment Share on other sites More sharing options...
bubu Posted November 30, 2007 Report Share Posted November 30, 2007 Ok, tad otrs variants - uztaisīt direktoriju includes (vai whatever kā nosaukt), kurā tad samest tos inklūdējamos failus un .htaccess failiņu ar pilnīgu deny uz jebko. Link to comment Share on other sites More sharing options...
andrisp Posted November 30, 2007 Report Share Posted November 30, 2007 (edited) Reizēm arī hostings neļauj veidots savus .htaccess failiņus. ;) Vienkārši tas variants ir bullet-proof un tam nav lieku prasību, tāpēc es viņu vienmēr arī parasti izmantoju. Edited November 30, 2007 by andrisp Link to comment Share on other sites More sharing options...
eregi Posted November 30, 2007 Report Share Posted November 30, 2007 (edited) man kaut kā ir iegājies likt - if (eregi("news.php",$_SERVER['PHP_SELF'])) die("ej tu d..., shito failu pa taisno nedrikst vert valjaa!"); tik pat labi var piemontēt tur header( ... lai redirekto uzreiz uz index.php Edited November 30, 2007 by eregi Link to comment Share on other sites More sharing options...
Kavacky Posted November 30, 2007 Report Share Posted November 30, 2007 Nu gan, tas jau ir lielgabals pa putniņiem. Man vispār ir zināmas aizdomas, ka visi jēdzīgie hosti piedāvā iespēju likt ārpus webroota. Pat kaut kādā eclub.lv tā ir. Link to comment Share on other sites More sharing options...
Copy Posted November 30, 2007 Author Report Share Posted November 30, 2007 pa to .htaccess, tā patiešām ir, ka hostings neļauj, bet tavs eregi variants arī ir labs! ;) tnx visiem par padomiem! Link to comment Share on other sites More sharing options...
andrisp Posted November 30, 2007 Report Share Posted November 30, 2007 eregi variants ir diezgan nelāgs no perfomances ziņā. Link to comment Share on other sites More sharing options...
blackhalt Posted November 30, 2007 Report Share Posted November 30, 2007 Tas andrisp variants ir īstais if(!defined('SECURITY_BH')){die();} un define('SECURITY_BH',true); Link to comment Share on other sites More sharing options...
Recommended Posts