Pradinis
Pagalba
Užsisakyk!
- Reklamą
- Hostingą
- El. pašto dėžutę
Užsisakyk!
Įrankiai
Pasidalink
- Visos temos
Šios dvi bylos (tai būtent ir yra bylos) naudojamos Apache HTTP serverā€™io. T.y. jas naudojant galima Apache PĮ nurodyti specifinius parametrus, kuriais remiantis ji turi interpretuoti įvairių publikuojamų katalogų nustatymus. Ką galima apibrėžti (nustatyti), naudojant šias bylas: Atliekant struktūrinius pakeitimus (perkeliame, ištriname bylas ar katalogus) .htaccess byloje galime nurodyti kur nukreipti svetainės lankytojus, ieškančius senos informacijos, Galime nustatyti, kad dinaminėmis būtų ne tik .php išplėtimą turinčios bylos, bet ir statinės (pvz.: .htm ar .html), Leisti ar drausti katalogo turinio peržiūrą, Apsaugoti katalogus slaptažodžiu (galime kurti vartotojus bei jų grupes), Apsaugoti tinklapius nuo paieškos sistemų robotų, blokuoti kai kuriuos spam-robotus. Pirmiausia apie pačias bylas: bylų pavadinimai prasideda taškais, kadangi daugelis UNIX OS tokiu būdu bylas pažymi nematomomis (hidden). Todėl, norint, kad jos būtų matomos atitinkamai reikės nustatysi savo terminalo arba ftp kliento programą (show hidden). Bylų .htaccess redaguoti galime paprasčiausiu tekstiniu redaktoriumi (pvz.: Notepad). Šią bylą, minėtu redaktoriumi galime ir patys susikurti, žinoma, saugosime pavadinimu ā€.htaccessā€¯ (be kabučių). Įkeliant bylą į pagrindinį kompiuterį (server) per FTP, reikia nustatyti ASCII režimą (jei jis neparenkamas automatiškai). .htaccess bylos veikimo sritis yra hierarchinė. T.y. jei ją patalpinome tarkime /home/tomas/public_html/ku/.haccess, ji veiks ir kituose (žemesnio lygio) kataloguose. Na, žinoma, jei žemesnio lygio kataloguose nėra kitos .htaccess bylos. Tarkime reorganizuojame svetainės struktūrą ir perkeliame bylas/katalogus iš vienos vietos į kitą (pvz.: http://www.ku.lt/libr/ katalogą perkeliame į http://www.ku.lt/administracija/libr/. Norėdami, kad vartotojai pasiektų perkelto katalogo turinį turėtume .htaccess byloje įrašyti: RewriteEngine on RewriteRule ^libr/(.*)$ administracija/libr/$1 RewriteRule ^libr$ /libr/ [R] Šis pakeitimas atlieka paprastą veiksmą ā€libr/ā€¯ kataloge kreipiantis į bylą (.*) - ji imama iš ā€administracija/libr/ā€¯ katalogo. Naudodami skliaustelius galime apibrėžti perduodamus parametrus. Šiuo atveju - tai bylos pavadinimas. Sudarinėdami tokias taisykles naudojame reguliarius išsireiškimus (REGEXP). Statinis turinys tampa dinaminiu Kartais tenka susidurti su atvejais, kai sukuriamas tinklapis saugomas, naudojant ā€.htmā€¯ arba ā€.htmlā€¯ išplėtimą, tačiau puslapių kode naudojamas Server-Side kodas (pvz.: PHP instrukcijos). Tam, kad nereikėtų keisti ā€httpd.confā€¯ bylos, kur nustatomas Apache serveris, vėlgi galime pasinaudoti .htaccess byla: RewriteEngine on RewriteRule ^(.*).html$ $1.php [T=application/x-httpd-php] Panašiai elgtumėmės ir su kitomis skriptinėmis kalbomis (ASP, CGI, Perl ir kt.). Tai - vienas paprasčiausių būdų, kaip apsaugoti savo turinį nuo pašalinių akių. Šiuo atveju teks pasitelkti papildomą bylą - .htpasswd. Ji sukuriama komandinėje eilutėje įvykdžius: htpasswd -c $HOME/public_html/ku/slapta/.htpasswd admin Ʋinoma, kataloge ā€slapta/ā€¯ teks sukurti .htaccess bylą, kuri atrodytų taip: AuthUserFile $HOME/public_html/ku/slapta/.htpasswd AuthGroupFile /dev/null AuthName "Slaptas katalogas" AuthType Basic require user admin Naudojant šį būdą galima apsaugoti ne tik katalogus, bet ir atskiras bylas. .htaccess byloje nurodome kurias programas naudojantys vartotojai turėtų būti peradresuojami: RewriteEngine on RewriteCond %{HTTP_USER_AGENT} ^.*Ants.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*attach.*$ [OR] RewriteCond %{HTTP_USER_AGENT} ^.*Widow.*$ [OR] [Ir taip toliau...] RewriteRule /* http://www.vmi.lt [L,R] Paskutine eilute nukreipiame tokius piktavalius vartotojus į mokesčių inspekcijos tinklapį (gali būti bet kuris tinklapis). Naudojant .htaccess bylą įmanoma sukurti taisykles, kuriomis remiantis galime priversti Apache serverį atlikti bylos paiešką, nurodydami katalogus, kuriuose ta paieška turi būti vykdoma. Pateikiu instrukcijų pavyzdį: RewriteEngine on RewriteCond /home/tomas/ku/libr/%{REQUEST_FILENAME} -f RewriteRule ^(.+) /home/tomas/ku/libr/$1 [L] RewriteCond /home/tomas/ku/libr2/%{REQUEST_FILENAME} -f RewriteRule ^(.+) /home/tomas/ku/libr2/$1 [L] RewriteRule ^(.+) - [PT] Šis būdas galėtų būti naudingas atliekant svetainės pertvarkymus - vienu metu galima naudotis keliais katalogais. Nustatyti klaidų (pvz nerasto puslapio) klaidos puslapius ErrorDocument 403 /forbidden.html // uždrausta ErrorDocument 404 /notfound.html // nerastas ErrorDocument 500 /servererror.html // serverio klaida Pakeisti pradinį puslapį DirectoryIndex myhome.htm index.htm index.php Blokuoti vartotojus, kad neįeitų į puslapį <limit GET POST PUT> order deny,allow deny from 202.54.122.33 //IP'ai deny from 8.70.44.53 deny from .spammers.com allow from all </limit> Leisti tik LAN'o naudotojus order deny,allow deny from all allow from 192.168.0.0/24 Nukreipti lankytojus į naują puslapį ar direktoriją Redirect oldpage.html http://www.domainname.com/newpage.html Redirect /olddir http://www.domainname.com/newdir/ Blokuoti" Karštas" Nuorodas/Srauto šokinėjimus RewriteEngine on RewriteCond %{-http-referer-} !^$ RewriteCond %{-http-referer-} !^http://(www.)?mydomain.com/.*$ [NC] RewriteRule .(gif|jpg)$ - [F] Blokuotį tinklalapį nuo specifinių " referrerių" RewriteEngine on RewriteCond %{-http-referer-} site-to-block.com [NC] RewriteCond %{-http-referer-} site-to-block-2.com [NC] RewriteRule .* - [F] Neleisti peržiūrėti .htaccess failo (ar bet kokio kito) <files file-name> order allow,deny deny from all </files> Tausoti srautą # Only if you use PHP <ifmodule mod_php4.c> php_value zlib.output_compression 16386 </ifmodule> Išjunkti magic_quotes_gpc # Only if you use PHP <ifmodule mod_php4.c> php_flag magic_quotes_gpc off </ifmodule> Išjunkti direktorijos peržiūrą Options All -Indexes Įjunkti direktorijos peržiūrą Options +Indexes ## block a few types of files from showing IndexIgnore *.wmv *.mp4 *.avi Blokavimas IP adreso iš .htaccess. Susikūriate ir įrašote: deny from 000.000.000.000 (IP adresas vietoj 000.000 ir t.t.) Norit,kad jūsų saitas nebūtų atakuojamas spammerių? Tai galima padaryti,ir spammeriams bus daug sunkiau surasti jus. Įrašome į .htaccess : RewriteCond %{HTTP_USER_AGENT} Wget [OR] RewriteCond %{HTTP_USER_AGENT} CherryPickerSE [OR] RewriteCond %{HTTP_USER_AGENT} CherryPickerElite [OR] RewriteCond %{HTTP_USER_AGENT} EmailCollector [OR] RewriteCond %{HTTP_USER_AGENT} EmailSiphon [OR] RewriteCond %{HTTP_USER_AGENT} EmailWolf [OR] RewriteCond %{HTTP_USER_AGENT} ExtractorPro RewriteRule ^.*$ X.html [L] Jei nenorite,kad žmones naudotų jūsų paveikslėlius savo puslapyje tam tiks šis .htaccess įrašome : RewriteEngine on RewriteCond %{-http-referer-} !^$ RewriteCond %{-http-referer-} !^http://(www.)?adresas.lt/.*$ [NC] RewriteRule .(gif|jpg)$ - [F] Kur paryškinau keisti į jūsų puslapio adresą Beto galima priskirti šį dalyką,ne vien uždraustri naudoti jūsų paveiksliukus,bet ir failus. Beje pamiršau paminėti,jog galima padaryti,kad į saitą įleistų tik kelis arba vieną IP. allow from 000.000.000.000 Dinaminiai linkai (kažkas forume jau minėjo,bet čia kitoks mano variantas) Pvz. Paprastas linkas: http://adresas.lt/tutorials.php?cat=php&id=1 Dynaminis linkas: http://adresas.lt/tutorials/php/1// Įrašom : Options +FollowSymLinks RewriteEngine on RewriteRule tutorials/(.*)/(.*)/$ /tutorials.php?cat=$1&id=$2 | Straipsnio informacijaAutoriusN3PST3R Parašymo data 2006 rugsėjo 27 14:09:55 Komentarų 7 Skaityta 9500 Spausdinti |
|