daGrevis Posted February 19, 2011 Report Share Posted February 19, 2011 Es veidoju vienu lietiņu un pēc DRY (Don't repeat yourself) principiem nebūtu jauki katram failam sākumā pievienot... if( !isSet( $core ) ) { exit( 'Direct access isn\'t allowed.' ); } Variants divi ir iekļaut kādu failu, kurā ir šis kods. Bet ieguvums jau būtu smieklīgs (ja būtu)! xD Vēl kādas idejas? P.S. Ja kādam interesē kāpēc tas ir vajadzīgs: vēl viens drošības slānis nekad nav nācis par skādi. xD Quote Link to comment Share on other sites More sharing options...
briedis Posted February 19, 2011 Report Share Posted February 19, 2011 Ja tu to taisi zem kohanas, tad dari to before(), vai kā tur bija, metodē. header("Location:/access-denied/"); exit(); Bet globāli, ja tu negribi lai tam failam piekļūst pa tiešo - tad neliec viņu www mapē, bet gan ārpus tās! Projekta sturktūra piem.: app/ controller/ models/ etc/ www/ css/ js/ img/ index.php Iekš www mapes liek tos vailus, kas tieši pieejami no pārlūka, bet app mapē (vai kādā citā root līmeņa mapē) liek dažādus skriptus, kam nav paredzēts piekļūt pa tiešo. Quote Link to comment Share on other sites More sharing options...
Jackal Posted February 19, 2011 Report Share Posted February 19, 2011 Vot šito es nesaprotu. Piemēram, kohana gandrīz visu failu sākumā ir sabāzts defined('SYSPATH') or die('No direct script access.'); Kāds tolks not tā, ja tālāk seko tikai klase? Quote Link to comment Share on other sites More sharing options...
briedis Posted February 19, 2011 Report Share Posted February 19, 2011 Vot šito es nesaprotu. Piemēram, kohana gandrīz visu failu sākumā ir sabāzts defined('SYSPATH') or die('No direct script access.'); Kāds tolks not tā, ja tālāk seko tikai klase? Es neesmu ņēmies ar Kohanu, bet imo nu tolka no tādas rindiņas īsti nav nekāda, ja fails satur tikai klases definīciju. Un kā jau minēju, šādiem failiem nebūtu jāatrodas www mapē, bet gan ārpus tās... Quote Link to comment Share on other sites More sharing options...
daGrevis Posted February 20, 2011 Author Report Share Posted February 20, 2011 Varbūt tomēr ir kaut kāds... Hmm... Idejas? Quote Link to comment Share on other sites More sharing options...
marrtins Posted February 20, 2011 Report Share Posted February 20, 2011 Nu tev tak saka - turi ārpus documentroot. Vēl var salikt deny rules apacī, bet tas ir vēl līkāk. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted February 20, 2011 Author Report Share Posted February 20, 2011 Ne par to ir runa. Es neprasu kā aizsargāt saitu. Es prasīju kāda ir šim te jēga... http://forum.kohanaframework.org/discussion/8194/no-direct-script-access./ Quote Link to comment Share on other sites More sharing options...
mad182 Posted February 20, 2011 Report Share Posted February 20, 2011 (edited) Jēgas nav, tās ir tikai 3 liekas koda rindas. Ierakstot adresi "pa taisno", nekas tur neizpildīsies, ja ir tikai klase, f-jas vai konfiga info. Savukārt tavā linkā minētā aizsardzība pret citu lietotāju failu inkludošanu neko nedos. Ja kādam citam jūzerim uz līki konfigurētas kastes sagribēsies inkludot tavus failus un būs tāda iespēja, neviens viņam neliedz vispirms, piemēram ar echo file_get_contents() apskatīties, kas ir iekš tava index.php un nodefinēt visu to pašu savā īvilajā kodā... Tas, ka kāds no opensourciem to dara, to nepadara par vajadzīgu. Es arī paspēju pārslimot sērgu katrā failā lik kaut kādas "aizsardzības" figņas. Ja nu tas palīdz naktī labāk gulēt, tad jau var darīt, bet cita pielietojuma īsti nav. Edited February 20, 2011 by mad182 Quote Link to comment Share on other sites More sharing options...
daGrevis Posted February 20, 2011 Author Report Share Posted February 20, 2011 Es tikai gribēju saprast kāpēc Viņi tā dara. Tas ka viņi tā dara jau nenozīmē, ka tā ir pareizi. Tagad redzu, ka nav nekādas jēgas tam. Es "roku atbildes"! =]] Paldies. ^^ Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.