skažem družna .. nafig nužna | / |
/_ Raksti //
.htaccess
Diggot! Saveidojis
BlackHalt šādā datumā: [ Sestdiena, 2004. gada 6. marts , 02:28:09 ]
Visi sadaļas ieraksti: Parādīt papildus rakstu izvēlni
Pasargājam failus.
Bik te uzmetīšu, kādi ir daži failu un direktoriju aizsardzības "varianti", ja pieņemam, ka ūberkūlais webs stāv uz *.NIX + Apache 1.3 + PHP.
Lai pilnīgi noliegtu piekļuvi direktorijai no ārpuses, lietojam .htaccess failu. Izveidojam failu
.htaccess (jā tieši tādu).
.htaccess ir faila paplašinājums un tas nedrīkst būt ar nosaukumiem kā mans.htaccess vai .htaccess.txt, bet tikai
.htaccessAtveram to failu ar kādu teksta redaktora palīdzību, un ierakstam tur rindiņu:
Deny from allNoseivojam failu.
Rakstot nosacījumus .htaccess failā katrs nosacījums jāraksta jaunā rindiņā, bez visādiem tab \t un citiem traucēkļiem.
Izmantojot FTP, šo te
.htaccess failu iekopējam tajā direktorijā, kurai gribam noliegt pieeju. Vēlams izvēlēties tādu FTP klientu, kas spēj "redzēt" hidden failus.
.htaccess fails jauplodo ASCII modē ne BINARY.
Tam jāuzliek CHMOD (tiesības) kā 644 jeb rw-r--r-- , kas nozīmē, ka tikai pats īpašnieks var rakstīt šajā failā, tas ir, pārrakstīt to.
Maza piezīme: Pareizi nokonfigurētā Apache serverī , ja fails tiek uploudots un tam
tiek mainītas tiesības, caur FTP piešķirtās CHMOD tiesības atšķiras no ar PHP skriptu palīdzību failam piešķirtajām tiesībām. Mans ieteikums būtu CHMOD likt konektējoties pie servera caur FTP.
Uz lietotājiem šis .htaccess fails iedarbojas lasīšanas režīmā, lai liktu pārlūkprogrammai saprast kas ir kas ;)
Šajā variantā direktorijai "pa taisno" nevarēs piekļūt, bet ar saviem (īpašnieka) PHP skriptiem , kas atrodas uz servera, varēsi lasīt šos failus, kuri tiks aizsargāti ar .htaccess no citiem.
Protams, pašu .htaccess failu pārrakstīt varēs arī tikai tā īpašnieks ;)
Normālā Apaches konfiguracijā, caur pārlūkprogrammu šādu failu nolasīt nevar neviens.
Ja tomēr, nezināmu iemeslu dēļ .htaccess faili ir nolasāmi vienkārši pārlūkprogrammā , tad var palīdzēt šādas rindiņas .htaccess faila augšā:
<Files .htaccess>
order deny,allow
deny from all
</Files>Nevajag aizmirst arī to, ka .htaccess fails ielikts augstākā direktorijā darbojās arī uz subdirektorijām.
Tas ir, ja .htaccess failu ieliks direktorijā /lapa un zem tās būs vēl kāda direktorija /lapa/faili , tad
.htaccess iestādījumi darbosies vienādi kā uz direktoriju /lapa tā arī uz /lapa/faili
Ja gribam noliegt apskatīt tikai konkrētu failu tipus, tad iekš .htaccess rakstam šādas konstrukcijas rindiņas:
<Files "*.txt">
order deny,allow
deny from all
</Files>Šajā variantā ir liegta tieša piekļuve failiem ar paplašinājumu .TXT
Parasti direktoriju listošana (directory listing) normālā servera konfigurācijā ir liegta, bet ja tas tomēr tā nav, tad aizsargāt direktoriju listošanu var palīdzēt šāda rindiņa:
Options - Indexes,bet šī konstrukcija, ja tajā nav liegumu ar
deny neliedz piekļuvi failam, ja ir zināms tā nosaukums.
Ja kādā direktorijā ir tikai bildes un
nav kādi citi "aizliegtie" faili un nevajag nekādus
deny nosacījumus,
tad, ja vēlas, var atļaut šīs konkrētās direktorijas nolistošanu, iemetot tajā .htaccess failu ar ierakstu:
Options +IndexesBet, ja šajā direktorijā tomēr atrodas kādi nerādāmie faili, bet nav arī bīstamības, ja kāds arī tos uzies, piemēram,
smuka bilžu sarakstiņa izveidošanai, tad jāizmanto apmēram šāda konstrukcija:
Options +Indexes
IndexIgnore *.php *.htmlTas atļauj pilnu dotās direktorijas listingu, izņemot failus kuru paplašinājumi norādīti ar
IndexIgnore
...pamparam... +
Neliels m|sc .htaccess tutoriālisVarāk angļu mēlē ieš
Apache .htaccess filesSecurity Tips for Server Configuration1 Komentāri
^^^