1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
4 <!-- English Revision: 1300910:1725855 (outdated) -->
5 <!-- =====================================================
6 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7 Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
11 Licensed to the Apache Software Foundation (ASF) under one or more
12 contributor license agreements. See the NOTICE file distributed with
13 this work for additional information regarding copyright ownership.
14 The ASF licenses this file to You under the Apache License, Version 2.0
15 (the "License"); you may not use this file except in compliance with
16 the License. You may obtain a copy of the License at
18 http://www.apache.org/licenses/LICENSE-2.0
20 Unless required by applicable law or agreed to in writing, software
21 distributed under the License is distributed on an "AS IS" BASIS,
22 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 See the License for the specific language governing permissions and
24 limitations under the License.
27 <manualpage metafile="env.xml.meta">
29 <title>Apache’de Ortam Değişkenleri</title>
32 <p>Apache HTTP Sunucusunu etkileyen ortam değişkenleri iki çeşittir.</p>
34 <p>İlki, işletim sisteminin denetimindeki ortam değişkenleridir. Bu
35 değişkenlere değer atama işlemi sunucu başlatılmadan önce yapılır.
36 Bunlar yapılandırma dosyalarının içinde kullanılabilir. Ayrıca,
37 istenirse PassEnv yönergesi kullanılarak bunlar CGI betiklerine ve
38 SSI sayfalarına da aktarılabilir.</p>
40 <p>İkincisi ise, Apache HTTP Sunucusunun kendi ortam değişkenleridir.
41 Bu değişkenlerde saklanan bilgi erişim denetimi, günlük kaydı gibi
42 çeşitli işlemleri denetlemekte kullanılabilir. Değişkenler ayrıca, CGI
43 betikleri gibi harici uygulamalarla iletişim mekanizması olarak da
44 kullanılabilir. Bu belgede bu değişkenler üzerindeki işlemlere ve
45 kullanım şekillerine değinilmiştir.</p>
47 <p>Bu değişkenlere <em>ortam değişkenleri</em> dense de işletim sisteminin
48 ortam değişkenleri gibi değillerdir. Bunlar sadece Apache ortamında
49 geçerli değişkenler olup işletim sisteminin bu değişkenlerden haberi
50 olmaz. Sadece CGI betikleri ve SSI sayfaları gibi harici uygulamalar
51 tarafından üretilen ortam değişkenleri sistem ortamının değişkenleri
52 haline gelirler. İşletim sistemi ortamına çalışmakta olan sunucudan
53 müdahale etmek isterseniz işletim sisteminizin kabuğu tarafından sağlanan
54 standart ortam müdahale mekanizmalarını kullanmalısınız.</p>
57 <section id="setting">
58 <title>Ortam Değişkenlerinin Atanması</title>
61 <module>mod_cache</module>
62 <module>mod_env</module>
63 <module>mod_rewrite</module>
64 <module>mod_setenvif</module>
65 <module>mod_unique_id</module>
68 <directive module="mod_setenvif">BrowserMatch</directive>
69 <directive module="mod_setenvif">BrowserMatchNoCase</directive>
70 <directive module="mod_env">PassEnv</directive>
71 <directive module="mod_rewrite">RewriteRule</directive>
72 <directive module="mod_env">SetEnv</directive>
73 <directive module="mod_setenvif">SetEnvIf</directive>
74 <directive module="mod_setenvif">SetEnvIfNoCase</directive>
75 <directive module="mod_env">UnsetEnv</directive>
79 <section id="basic-manipulation">
80 <title>Temel Ortamda Değişiklik</title>
82 <p>Apache ortamında bir ortam değişkenine müdahale etmenin en temel
83 yolu hiçbir koşula tabi olmayan <directive module="mod_env"
84 >SetEnv</directive> yönergesini kullanmaktır. Bu değişkenleri Apache
85 başlatılırken sistem ortam değişkenleri haline getirmek için
86 <directive module="mod_env">PassEnv</directive> yönergesi
90 <section id="conditional">
91 <title>İsteğe Bağlı Şartlı Atamalar</title>
93 <p>Esnekliği arttırmak için, <module>mod_setenvif</module> modülü ile
94 isteğin özelliklerine uygun olarak her isteğe özel değişkenler
95 atayabilmek mümkün kılınmıştır. Örneğin, bir değişken sadece isteği
96 yapan tarayıcıya özgü bir değerle veya sadece belli bir başlık
97 alanınına bağlı olarak atanabilir. Daha da esnek bir mekanizma,
98 ortam değişkeni atamak için <code>[E=...]</code> seçeneğinin
99 kullanıldığı <module>mod_rewrite</module> modülünün <directive
100 module="mod_rewrite" >RewriteRule</directive> yönergesi ile
104 <section id="unique-identifiers">
105 <title>Eşsiz Betimleyiciler</title>
107 <p>Son olarak, <module>mod_unique_id</module> <code>UNIQUE_ID</code>
108 ortam değişkenine her istek için o isteğin çok özel koşullar altında
109 tüm diğer istekler arasında eşsizliğini garanti edecek bir değer
113 <section id="standard-cgi">
114 <title>Standart CGI Değişkenleri</title>
116 <p>Apache yapılandırmasıyla atanan ve kabuğa aktarılan ortam
117 değişkenlerinden başka <a href="http://www.ietf.org/rfc/rfc3875">CGI
118 Belirtimi</a>nin gerektirdiği istekler hakkında temel bilgileri
119 içeren ortam değişkenlerinin CGI betikleri ve SSI sayfalarınca
120 atanabilmesi sağlanmıştır.</p>
123 <section id="caveats">
124 <title>Bazı Yetersizlikler</title>
127 <li>Standart CGI değişkenlerini ortam değişkenlerine müdahale
128 yönergelerini kullanarak değiştirmek veya geçersiz kılmak mümkün
131 <li>CGI betiklerini çalıştırmak için <program>suexec</program>
132 kullanıldığında ortam, CGI betikleri çalıştırılmadan önce
133 <em>güvenilir</em> değişkenler kalacak şekilde temizlenir.
134 <em>Güvenilir</em> değişken listesi <code>suexec.c</code> içinde
135 derleme sırasında tanımlanır.</li>
137 <li>Taşınabilirlik adına, ortam değişkenlerinin isimleri sadece
138 harfler, rakamlar ve alt çizgi imlerini içerebilir. Bunlara ek
139 olarak ismin ilk karakteri bir rakam olmamalıdır. Değişkenler CGI
140 betiklerine ve SSI sayfalarına aktarılırken bu sınırlamalara uygun
141 olmayan karakterlerin yerlerine alt çizgi imleri konur.</li>
143 <li>Bir özel durum, CGI betiklerine ve benzerlerine ortam
144 değişkenleri üzerinden aktarılan HTTP başlıklarıdır (aşağıya
145 bakın). Bunlar büyük harfe dönüştürülür ve sadece tireler
146 altçizgilere dönüştürülür. Eğer HTTP başlığı geçersiz karakter
147 içeriyorsa başlığın tamamı yoksayılır. Böyle bir durumda ne
148 yapılacağı öğrenmek için <a href="#fixheader">aşağıya</a>
151 <li>İsteklerin işleme konması sırasında <directive
152 module="mod_env">SetEnv</directive> yönergesi geç çalıştırılır,
153 yani <directive module="mod_setenvif">SetEnvIf</directive> ve
154 <directive module="mod_rewrite">RewriteCond</directive> gibi
155 yönergeler <directive module="mod_env">SetEnv</directive> ile
156 atanan değişken değerlerini görmezler.</li>
161 <title>Ortam Değişkenlerinin Kullanımı</title>
165 <module>mod_authz_host</module>
166 <module>mod_cgi</module>
167 <module>mod_ext_filter</module>
168 <module>mod_headers</module>
169 <module>mod_include</module>
170 <module>mod_log_config</module>
171 <module>mod_rewrite</module>
174 <directive module="mod_access_compat">Allow</directive>
175 <directive module="mod_log_config">CustomLog</directive>
176 <directive module="mod_access_compat">Deny</directive>
177 <directive module="mod_ext_filter">ExtFilterDefine</directive>
178 <directive module="mod_headers">Header</directive>
179 <directive module="mod_log_config">LogFormat</directive>
180 <directive module="mod_rewrite">RewriteCond</directive>
181 <directive module="mod_rewrite">RewriteRule</directive>
185 <section id="cgi-scripts">
186 <title>CGI Betikleri</title>
188 <p>Ortam değişkenlerinin başlıca amaçlarından biri CGI betikleriyle
189 iletişim kurmaktır. Yukarıda bahsedildiği gibi CGI betiklerine
190 aktarılan ortam Apache yapılandırmasında atanan değişkenlere ek
191 olarak istek hakkında standart temel bilgileri de içerir. Bu konuda
192 ayrıntılı bilgi edinmek için <a href="howto/cgi.html">CGI
193 Öğreticisi</a>ne bakabilirsiniz.</p>
196 <section id="ssi-pages">
197 <title>SSI Sayfaları</title>
199 <p>Sunucu tarafında <module>mod_include</module> modülünün
200 <code>INCLUDES</code> süzgeci ile yorumlanan SSI sayfalarında ortam
201 değişkenleri <code>echo</code> elemanı ile basılabilir ve sayfayı
202 isteğin özelliklerine uygun olarak oluşturmak için ortam
203 değişkenleri akış denetim elemanları içinde kullanılabilir. Apache
204 ayrıca, yukarıda bahsedildiği gibi standart CGI ortam değişkenli SSI
205 sayfalarını da sağlayabilmektedir. Daha ayrıntılı bilgi edinmek için
206 <a href="howto/ssi.html" >SSI Öğreticisi</a>ne bakabilirsiniz.</p>
209 <section id="access-control">
210 <title>Erişim Denetimi</title>
212 <p><code>allow from env=</code> ve <code>deny from env=</code>
213 yönergeleri sayesinde ortam değişkenlerine dayalı olarak sunucuya
214 erişim denetim altında tutulabilir. Bunlar <directive
215 module="mod_setenvif">SetEnvIf</directive> yönergesi ile birlikte
216 kullanılmak suretiyle sunucuya erişim isteğin özelliklerine bağlı
217 olarak daha esnek bir tarzda denetlenebilir. Örneğin, belli bir
218 tarayıcının sunucuya erişimi bu yönergelerle engellenebilir.</p>
221 <section id="logging">
222 <title>Şartlı Günlük Kaydı</title>
224 <p>Ortam değişkenleri <directive module="mod_log_config"
225 >LogFormat</directive> yönergesinin <code>%e</code> seçeneği
226 kullanılarak erişim günlüğüne kaydedilebilir. Bundan başka,
227 <directive module="mod_log_config">CustomLog</directive> yönergesi
228 sayesinde isteklerin günlüğe kaydedilip kaydedilmeyeceğine ortam
229 değişkenlerine dayalı olarak karar verilmesi sağlanabilir. Bunlar
230 <directive module="mod_setenvif">SetEnvIf</directive> yönergesi ile
231 birlikte kullanılmak suretiyle günlük kayıtları isteğin
232 özelliklerine bağlı olarak daha esnek bir tarzda denetlenebilir.
233 Örneğin, <code>gif</code> uzantılı dosyalar için yapılan isteklerin
234 günlüğe kaydedilmemesi veya sadece alt ağınızın dışından gelen
235 isteklerin günlüğe kaydedilmesini isteyebilirsiniz.</p>
238 <section id="response-headers">
239 <title>Şartlı Yanıt Başlıkları</title>
241 <p><directive module="mod_headers">Header</directive> yönergesi belli
242 bir yanıt başlığının istemciye gönderilip gönderilmeyeceğine belli
243 bir ortam değişkeninin varlığına bakarak karar vermek için
244 kullanılabilir. Böylece örneğin, belli bir başlığın istemciye
245 gönderilmesine istemciden belli bir başlığın alınıp alınmadığına
246 bağlı olarak karar verilebilir.</p>
250 <section id="external-filter">
251 <title>Harici Süzgeçlerin Etkinleştirilmesi</title>
253 <p><module>mod_ext_filter</module> tarafından yapılandırılan harici
254 süzgeçler <directive module="mod_ext_filter"
255 >ExtFilterDefine</directive> yönergesinin <code>disableenv=</code> ve
256 <code>enableenv=</code> seçenekleri kullanılarak bir ortam
257 değişkenine bağlı olarak etkinleştirilebilir.</p>
260 <section id="url-rewriting">
261 <title>URL Kurgulaması</title>
263 <p><directive module="mod_rewrite">RewriteCond</directive>
264 yönergesinin <em>SınamaDizgesi</em> olarak kullanılan
265 <code>%{ENV:<em>değişken</em>}</code> biçemi
266 <module>mod_rewrite</module> yeniden yazma motorunun ortam
267 değişkenlerine bağlı kararlar almasını mümkün kılar. Yalnız şuna
268 dikkat ediniz: <module>mod_rewrite</module>’ta <code>ENV:</code>
269 öneki kullanılmadan belirtilen değişkenler ortam değişkenleri
270 değillerdir. Onlar <module>mod_rewrite</module>’a özgü diğer
271 modüllerden erişilemeyen özel değişkenlerdir.</p>
275 <section id="special">
276 <title>Özel Amaçlı Ortam Değişkenleri</title>
278 <p>Birlikte çalışabilirlik sorunları Apache’nin belli istemcilerle
279 veri alışverişi sırasında davranışını değiştirmesini gerektirebilir.
280 Genellikle <directive module="mod_env" >SetEnv</directive> ve
281 <directive module="mod_env" >PassEnv</directive> yönergelerinden
282 başka <directive module="mod_setenvif" >BrowserMatch</directive>
283 gibi yönergelerle ortam değişkenleri atanarak bunu sağlayan
284 mekanizmaların olabildiğince esnek davranabilmesi sağlanabilir.</p>
286 <section id="downgrade">
287 <title><code>downgrade-1.0</code></title>
289 <p>İstek, daha yüksek bir HTTP protokolüyle yapılmış olsa bile
290 HTTP/1.0 isteği olarak ele alınır.</p>
293 <section id="force-gzip">
294 <title><code>force-gzip</code></title>
295 <p><code>DEFLATE</code> süzgeci etkinse tarayıcının tercih ettiği
296 kodlama koşulsuz olarak yoksayılarak sıkıştırılmış çıktı
299 <section id="force-no-vary">
300 <title><code>force-no-vary</code></title>
302 <p>İstemciye gönderilmeden önce yanıttan <code>Vary</code> alanının
303 çıkarılmasına sebep olur. Bazı istemciler bu alanı gerektiği gibi
304 yorumlayamazlar, bu değişken atanarak bu sorunla karşılaşılmamaya
305 çalışılır. Bu değişkenin atanması ayrıca
306 <strong>force-response-1.0</strong> değişkeninin de atanmasına sebep
310 <section id="force-response">
311 <title><code>force-response-1.0</code></title>
313 <p>HTTP/1.0 isteği yapan istemcilere HTTP/1.0 yanıtı verilmesini zorunlu
314 kılar. AOL vekillerindeki bir sorun nedeniyle gerçeklenmiştir. Bazı
315 HTTP/1.0 istemciler HTTP/1.1 yanıtlarında doğru davranmayabilirler; bu
316 değişken atanarak bunların sorunları giderilebilir.</p>
320 <section id="gzip-only-text-html">
321 <title><code>gzip-only-text/html</code></title>
323 <p>Bu değişkene "1" değeri atandığında <code>text/html</code>’den
324 farklı içerik türleri için <module>mod_deflate</module> modülü
325 tarafından sağlanan <code>DEFLATE</code> çıktı süzgeci iptal
326 edilir. Sıkıştırılmış olarak saklanan dosyalar kullanıyorsanız bu
327 değişkeni <module>mod_negotiation</module> modülü de dikkate alır
328 (kimliğine bakarak sadece gzip için değil, tüm kodlamalar için bunu
332 <section id="no-gzip"><title><code>no-gzip</code></title>
334 <p>Bu değişken atandığında, <module>mod_deflate</module> modülünün
335 <code>DEFLATE</code> süzgeci kapatılır ve
336 <module>mod_negotiation</module> modülü kodlanmış kaynak teslimatını
341 <section id="no-cache"><title>no-cache</title>
342 <p><em>2.2.12 sürümünden beri kullanılabilmektedir.</em></p>
344 <p>Atandığı takdirde, <module>mod_cache</module> artık
345 önbelleklenebilecek yanıtları kaydetmeyecektir. Bu ortam değişkeni bir
346 yanıtın halihazırda mevcut bir isteğe sunulmak üzere önbellekte olup
347 olmadığından etkilenmez.</p>
351 <section id="nokeepalive">
352 <title><code>nokeepalive</code></title>
354 <p>Bu değişken atandığında, <directive module="core"
355 >KeepAlive</directive> yönergesi iptal edilir.</p>
359 <section id="prefer-language">
360 <title><code>prefer-language</code></title>
362 <p>Değer olarak <code>en</code>, <code>ja</code> veya
363 <code>x-klingon</code> gibi bir dil kısaltması verilerek atanmışsa
364 <module>mod_negotiation</module> modülünün normal davranışını
365 değiştirerek belirtilen dilde bir teslimat yapılmaya çalışılır.
366 Böyle bir belge yoksa normal <a
367 href="content-negotiation.html">uzlaşım</a> süreci uygulanır.</p>
371 <section id="redirect-carefully">
372 <title><code>redirect-carefully</code></title>
374 <p>İstemciye bir yönlendirme gönderirken sunucuyu daha dikkatli olmaya
375 zorlar. Bu genellikle istemcinin yönlendirmeler konusunda sorunlu
376 olduğu bilindiği takdirde yararlı olur. Bu değişkenin gerçeklenme
377 sebebi, dizin kaynaklarına yönlendirmeler için DAV yöntemlerini
378 kullanan Microsoft'un WebFolders yazılımındaki bir sorundur.</p>
382 <section id="suppress-error-charset">
383 <title><code>suppress-error-charset</code></title>
385 <p><em>2.0.54 sürümünden beri mevcuttur.</em></p>
387 <p>Apache bir isteğe bir yönlendirme ile yanıt verdiğinde istemci
388 yönlendirmeyi kendiliğinden yapmaz veya yapamazsa kullanıcıya yanıtla
389 birlikte gönderilen metin gösterilir. Apache normal olarak bu metni
390 ISO-8859-1 ile kodlar.</p>
392 <p>Ancak, yönlendirmenin yapıldığı sayfa farklı bir karakter kümesine
393 sahipse bazı tarayıcı sürümleri asıl sayfanın karakter kodlaması yerine
394 yönlendirmenin kodlamasını kullanmaya çalışırlar. Bu özellikle Yunanca
395 gibi dillerde hedef sayfanın hatalı yorumlanmasına yol açar.</p>
397 <p>Bu ortam değişkeninin atanması Apache’nin yönlendirme için karakter
398 kümesi belirtmemesini sağlamak suretiyle hatalı tarayıcıların hedef
399 sayfayı yanlış karakter kodlamasıyla yorumlamasını önler.</p>
401 <note type="warning">
402 <title>Güvenlik Uyarısı</title>
404 <p>Hata sayfalarının bir karakter kümesi belirtilmeksizin yollanması,
405 HTTP/1.1 belirtimine uymayan ve karakter kümesini içeriğe bakarak
406 tahmin etmeye çalışan tarayıcılarda (MSIE) karşı siteden betik
407 saldırısı yorumuna sebep olabilir. Girdi verisindeki UTF-7 içerik
408 (istek betimleyici gibi) karşı siteden betik saldırılarını engellemek
409 için tasarlanmış normal önceleme mekanizmalarıyla öncelenmeyeceği için
410 böyle tarayıcılar UTF-7 karakter kodlaması kullanılarak kolayca
416 <section id="proxy"><title><code>force-proxy-request-1.0</code>,
417 <code>proxy-nokeepalive</code>, <code>proxy-sendchunked</code> ve
418 <code>proxy-sendcl</code>, <code>proxy-chain-auth</code>,
419 <code>proxy-interim-response</code>, <code>proxy-initial-not-pooled</code>
422 <p>Bu yönergeler <module>mod_proxy</module> modülünün normal protokol
423 davranışını değiştirirler. Daha ayrıntılı bilgi için
424 <module>mod_proxy</module> ve <module>mod_proxy_http</module>
425 belgelerine bakınız.</p>
430 <section id="examples">
431 <title>Örnekler</title>
433 <section id="fixheader">
434 <title>Bozuk başlıkların CGI betiklerine aktarılması</title>
436 <p>2.4 sürümünden itibaren, <module>mod_cgi</module> modülü ve diğer
437 modüllerde HTTP başlıklarının ortam değişkenlerine dönüştürülmesi
438 bağlamında Apache daha seçici davranmaktadır. Önce HTTP başlığındaki
439 geçersiz karakterlerin tamamı altçizgilere dönüştürülür. Bu, başlık
440 zerki yoluyla yapılan karşı-site-betiklerini-çalıştırma saldırısını
441 önlemeye yöneliktir. (Bakınız: <a
442 href="http://events.ccc.de/congress/2007/Fahrplan/events/2212.en.html"
443 >Unusual Web Bugs</a>, slide 19/20).</p>
445 <p>Bozuk başlıklar gönderdiği halde bunlara dokunulmamasını gerektiren
446 bir istemciniz varsa, <module>mod_setenvif</module> ve
447 <module>mod_headers</module> modüllerinin sunduğu yapıyı örnekteki gibi
448 kullanarak bu sorunun üstesinden gelebilirsiniz:</p>
452 # Aşağıdaki satırlarla bir istemcinin gönderdiği bozuk<br />
453 # Accept_Encoding başlıklarının istenildiği gibi işlenmesi<br />
454 # sağlanabilir.<br />
456 SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1<br />
457 RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding
462 <section id="misbehaving">
463 <title>Protokolü yanlış yorumlayan tarayıcıların davranışlarının
464 değiştirilmesi</title>
466 <p>Önceki sürümlerde bilinen istemci davranışlarına karşı önlem olarak
467 aşağıdaki satırların <code>httpd.conf</code> içinde bulunması
468 önerilirdi. Fakat, böyle tarayıcılar artık ortalıkta görünmediğinden
469 bu yapılandırmaya da artık gerek kalmamıştır.</p>
473 # Aşağıdaki yönergeler normal HTTP yanıt davranışını değiştirirler.<br />
474 # İlk yönerge Netscape 2.x ve kendini öyle gösteren tarayıcılar için<br />
475 # kalıcı bağlantıyı (keepalive) iptal eder. İkinci yönerge ise HTTP/1.1<br />
476 # protokolü bozuk olan ve 301/302 durum kodlu yönlendirme yanıtları<br />
477 # kullanıldığında kalıcı bağlantıları gerektiği gibi desteklemeyen<br />
478 # Microsoft Internet Explorer 4.0b2 içindir.<br />
480 BrowserMatch "Mozilla/2" nokeepalive<br />
481 BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0<br />
484 # Aşağıdaki yönergeler HTTP/1.0 yanıtlarından başkasına yabancı olan<br />
485 # tarayıcılara HTTP/1.1 yanıtlarının gönderilmesini iptal eder.<br />
487 BrowserMatch "RealPlayer 4\.0" force-response-1.0<br />
488 BrowserMatch "Java/1\.0" force-response-1.0<br />
489 BrowserMatch "JDK/1\.0" force-response-1.0
493 <section id="no-img-log">
494 <title>Resim isteklerinin erişim günlüğüne kaydedilmemesi</title>
496 <p>Bu örnek resim isteklerinin erişim günlüğüne yazılmasını engeller.
497 Bu örnek değiştirilerek belli dizinlerin veya belli konaklardan
498 gelen isteklerin günlüğe kaydedilmesini engellemek amacıyla da
502 SetEnvIf Request_URI \.gif image-request<br />
503 SetEnvIf Request_URI \.jpg image-request<br />
504 SetEnvIf Request_URI \.png image-request<br />
505 CustomLog logs/access_log common env=!image-request
509 <section id="image-theft">
510 <title>“Resim Hırsızlığı” için önlem alınması</title>
512 <p>Bu örnekte sunucunuzda bulunmayan sayfalarda sunucunuzdaki
513 resimlerin kullanılmasının nasıl önleneceği gösterilmiştir. Bu
514 yapılandırma önerilmemekle birlikte nadir durumlarda işe yarar. Tüm
515 resimlerin <code>/siteler/resimler</code> dizini altında tutulduğu
519 SetEnvIf Referer "^http://www\.example\.com/" local_referal<br />
520 # Referrer bilgisi göndermeyen tarayıcılara izin verelim<br />
521 SetEnvIf Referer "^$" local_referal<br />
522 <Directory /siteler/resimler><br />
524 Order Deny,Allow<br />
526 Allow from env=local_referal
531 <p>Bu teknik hakkında daha ayrıntılı bilgi edinmek için ServerWatch
533 href="http://www.serverwatch.com/tutorials/article.php/1132731"
534 >Diğer sitelerin sizin resimlerinizle donatılmasını engellemek</a>"
535 belgesine bakınız.</p>