1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>Apache’de Ortam Değişkenleri - Apache HTTP Sunucusu</title>
9 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p>
15 <p class="apache">Apache HTTP Sunucusu Sürüm 2.5</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
19 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.5</a></div><div id="page-content"><div id="preamble"><h1>Apache’de Ortam Değişkenleri</h1>
21 <p><span>Mevcut Diller: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> |
22 <a href="./fr/env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
23 <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
24 <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
25 <a href="./tr/env.html" title="Türkçe"> tr </a></p>
28 <p>Apache HTTP Sunucusunu etkileyen ortam değişkenleri iki çeşittir.</p>
30 <p>İlki, işletim sisteminin denetimindeki ortam değişkenleridir. Bu
31 değişkenlere değer atama işlemi sunucu başlatılmadan önce yapılır.
32 Bunlar yapılandırma dosyalarının içinde kullanılabilir. Ayrıca,
33 istenirse PassEnv yönergesi kullanılarak bunlar CGI betiklerine ve
34 SSI sayfalarına da aktarılabilir.</p>
36 <p>İkincisi ise, Apache HTTP Sunucusunun kendi ortam değişkenleridir.
37 Bu değişkenlerde saklanan bilgi erişim denetimi, günlük kaydı gibi
38 çeşitli işlemleri denetlemekte kullanılabilir. Değişkenler ayrıca, CGI
39 betikleri gibi harici uygulamalarla iletişim mekanizması olarak da
40 kullanılabilir. Bu belgede bu değişkenler üzerindeki işlemlere ve
41 kullanım şekillerine değinilmiştir.</p>
43 <p>Bu değişkenlere <em>ortam değişkenleri</em> dense de işletim sisteminin
44 ortam değişkenleri gibi değillerdir. Bunlar sadece Apache ortamında
45 geçerli değişkenler olup işletim sisteminin bu değişkenlerden haberi
46 olmaz. Sadece CGI betikleri ve SSI sayfaları gibi harici uygulamalar
47 tarafından üretilen ortam değişkenleri sistem ortamının değişkenleri
48 haline gelirler. İşletim sistemi ortamına çalışmakta olan sunucudan
49 müdahale etmek isterseniz işletim sisteminizin kabuğu tarafından sağlanan
50 standart ortam müdahale mekanizmalarını kullanmalısınız.</p>
52 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#setting">Ortam Değişkenlerinin Atanması</a></li>
53 <li><img alt="" src="./images/down.gif" /> <a href="#using">Ortam Değişkenlerinin Kullanımı</a></li>
54 <li><img alt="" src="./images/down.gif" /> <a href="#special">Özel Amaçlı Ortam Değişkenleri</a></li>
55 <li><img alt="" src="./images/down.gif" /> <a href="#examples">Örnekler</a></li>
57 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
59 <h2><a name="setting" id="setting">Ortam Değişkenlerinin Atanması</a></h2>
61 <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code></li><li><code class="module"><a href="./mod/mod_env.html">mod_env</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li><li><code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code></li><li><code class="directive"><a href="./mod/mod_env.html#unsetenv">UnsetEnv</a></code></li></ul></td></tr></table>
63 <h3><a name="basic-manipulation" id="basic-manipulation">Temel Ortamda Değişiklik</a></h3>
66 <p>Apache ortamında bir ortam değişkenine müdahale etmenin en temel
67 yolu hiçbir koşula tabi olmayan <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> yönergesini kullanmaktır. Bu değişkenleri Apache
68 başlatılırken sistem ortam değişkenleri haline getirmek için
69 <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code> yönergesi
73 <h3><a name="conditional" id="conditional">İsteğe Bağlı Şartlı Atamalar</a></h3>
76 <p>Esnekliği arttırmak için, <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> modülü ile
77 isteğin özelliklerine uygun olarak her isteğe özel değişkenler
78 atayabilmek mümkün kılınmıştır. Örneğin, bir değişken sadece isteği
79 yapan tarayıcıya özgü bir değerle veya sadece belli bir başlık
80 alanınına bağlı olarak atanabilir. Daha da esnek bir mekanizma,
81 ortam değişkeni atamak için <code>[E=...]</code> seçeneğinin
82 kullanıldığı <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> modülünün <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesi ile
86 <h3><a name="unique-identifiers" id="unique-identifiers">Eşsiz Betimleyiciler</a></h3>
89 <p>Son olarak, <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> <code>UNIQUE_ID</code>
90 ortam değişkenine her istek için o isteğin çok özel koşullar altında
91 tüm diğer istekler arasında eşsizliğini garanti edecek bir değer
95 <h3><a name="standard-cgi" id="standard-cgi">Standart CGI Değişkenleri</a></h3>
98 <p>Apache yapılandırmasıyla atanan ve kabuğa aktarılan ortam
99 değişkenlerinden başka <a href="http://www.ietf.org/rfc/rfc3875">CGI
100 Belirtimi</a>nin gerektirdiği istekler hakkında temel bilgileri
101 içeren ortam değişkenlerinin CGI betikleri ve SSI sayfalarınca
102 atanabilmesi sağlanmıştır.</p>
105 <h3><a name="caveats" id="caveats">Bazı Yetersizlikler</a></h3>
109 <li>Standart CGI değişkenlerini ortam değişkenlerine müdahale
110 yönergelerini kullanarak değiştirmek veya geçersiz kılmak mümkün
113 <li>CGI betiklerini çalıştırmak için <code class="program"><a href="./programs/suexec.html">suexec</a></code>
114 kullanıldığında ortam, CGI betikleri çalıştırılmadan önce
115 <em>güvenilir</em> değişkenler kalacak şekilde temizlenir.
116 <em>Güvenilir</em> değişken listesi <code>suexec.c</code> içinde
117 derleme sırasında tanımlanır.</li>
119 <li>Taşınabilirlik adına, ortam değişkenlerinin isimleri sadece
120 harfler, rakamlar ve alt çizgi imlerini içerebilir. Bunlara ek
121 olarak ismin ilk karakteri bir rakam olmamalıdır. Değişkenler CGI
122 betiklerine ve SSI sayfalarına aktarılırken bu sınırlamalara uygun
123 olmayan karakterlerin yerlerine alt çizgi imleri konur.</li>
125 <li>Bir özel durum, CGI betiklerine ve benzerlerine ortam
126 değişkenleri üzerinden aktarılan HTTP başlıklarıdır (aşağıya
127 bakın). Bunlar büyük harfe dönüştürülür ve sadece tireler
128 altçizgilere dönüştürülür. Eğer HTTP başlığı geçersiz karakter
129 içeriyorsa başlığın tamamı yoksayılır. Böyle bir durumda ne
130 yapılacağı öğrenmek için <a href="#fixheader">aşağıya</a>
133 <li>İsteklerin işleme konması sırasında <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> yönergesi geç çalıştırılır,
134 yani <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> ve
135 <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> gibi
136 yönergeler <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> ile
137 atanan değişken değerlerini görmezler.</li>
140 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
141 <div class="section">
142 <h2><a name="using" id="using">Ortam Değişkenlerinin Kullanımı</a></h2>
145 <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code></li><li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_authz_host.html#allow">Allow</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_authz_host.html#deny">Deny</a></code></li><li><code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li></ul></td></tr></table>
147 <h3><a name="cgi-scripts" id="cgi-scripts">CGI Betikleri</a></h3>
150 <p>Ortam değişkenlerinin başlıca amaçlarından biri CGI betikleriyle
151 iletişim kurmaktır. Yukarıda bahsedildiği gibi CGI betiklerine
152 aktarılan ortam Apache yapılandırmasında atanan değişkenlere ek
153 olarak istek hakkında standart temel bilgileri de içerir. Bu konuda
154 ayrıntılı bilgi edinmek için <a href="howto/cgi.html">CGI
155 Öğreticisi</a>ne bakabilirsiniz.</p>
158 <h3><a name="ssi-pages" id="ssi-pages">SSI Sayfaları</a></h3>
161 <p>Sunucu tarafında <code class="module"><a href="./mod/mod_include.html">mod_include</a></code> modülünün
162 <code>INCLUDES</code> süzgeci ile yorumlanan SSI sayfalarında ortam
163 değişkenleri <code>echo</code> elemanı ile basılabilir ve sayfayı
164 isteğin özelliklerine uygun olarak oluşturmak için ortam
165 değişkenleri akış denetim elemanları içinde kullanılabilir. Apache
166 ayrıca, yukarıda bahsedildiği gibi standart CGI ortam değişkenli SSI
167 sayfalarını da sağlayabilmektedir. Daha ayrıntılı bilgi edinmek için
168 <a href="howto/ssi.html">SSI Öğreticisi</a>ne bakabilirsiniz.</p>
171 <h3><a name="access-control" id="access-control">Erişim Denetimi</a></h3>
174 <p><code>allow from env=</code> ve <code>deny from env=</code>
175 yönergeleri sayesinde ortam değişkenlerine dayalı olarak sunucuya
176 erişim denetim altında tutulabilir. Bunlar <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> yönergesi ile birlikte
177 kullanılmak suretiyle sunucuya erişim isteğin özelliklerine bağlı
178 olarak daha esnek bir tarzda denetlenebilir. Örneğin, belli bir
179 tarayıcının sunucuya erişimi bu yönergelerle engellenebilir.</p>
182 <h3><a name="logging" id="logging">Şartlı Günlük Kaydı</a></h3>
185 <p>Ortam değişkenleri <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesinin <code>%e</code> seçeneği
186 kullanılarak erişim günlüğüne kaydedilebilir. Bundan başka,
187 <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi
188 sayesinde isteklerin günlüğe kaydedilip kaydedilmeyeceğine ortam
189 değişkenlerine dayalı olarak karar verilmesi sağlanabilir. Bunlar
190 <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> yönergesi ile
191 birlikte kullanılmak suretiyle günlük kayıtları isteğin
192 özelliklerine bağlı olarak daha esnek bir tarzda denetlenebilir.
193 Örneğin, <code>gif</code> uzantılı dosyalar için yapılan isteklerin
194 günlüğe kaydedilmemesi veya sadece alt ağınızın dışından gelen
195 isteklerin günlüğe kaydedilmesini isteyebilirsiniz.</p>
198 <h3><a name="response-headers" id="response-headers">Şartlı Yanıt Başlıkları</a></h3>
201 <p><code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code> yönergesi belli
202 bir yanıt başlığının istemciye gönderilip gönderilmeyeceğine belli
203 bir ortam değişkeninin varlığına bakarak karar vermek için
204 kullanılabilir. Böylece örneğin, belli bir başlığın istemciye
205 gönderilmesine istemciden belli bir başlığın alınıp alınmadığına
206 bağlı olarak karar verilebilir.</p>
210 <h3><a name="external-filter" id="external-filter">Harici Süzgeçlerin Etkinleştirilmesi</a></h3>
213 <p><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> tarafından yapılandırılan harici
214 süzgeçler <code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code> yönergesinin <code>disableenv=</code> ve
215 <code>enableenv=</code> seçenekleri kullanılarak bir ortam
216 değişkenine bağlı olarak etkinleştirilebilir.</p>
219 <h3><a name="url-rewriting" id="url-rewriting">URL Kurgulaması</a></h3>
222 <p><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
223 yönergesinin <em>SınamaDizgesi</em> olarak kullanılan
224 <code>%{ENV:<em>değişken</em>}</code> biçemi
225 <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> yeniden yazma motorunun ortam
226 değişkenlerine bağlı kararlar almasını mümkün kılar. Yalnız şuna
227 dikkat ediniz: <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>’ta <code>ENV:</code>
228 öneki kullanılmadan belirtilen değişkenler ortam değişkenleri
229 değillerdir. Onlar <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>’a özgü diğer
230 modüllerden erişilemeyen özel değişkenlerdir.</p>
232 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
233 <div class="section">
234 <h2><a name="special" id="special">Özel Amaçlı Ortam Değişkenleri</a></h2>
237 <p>Birlikte çalışabilirlik sorunları Apache’nin belli istemcilerle
238 veri alışverişi sırasında davranışını değiştirmesini gerektirebilir.
239 Genellikle <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> ve
240 <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code> yönergelerinden
241 başka <code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>
242 gibi yönergelerle ortam değişkenleri atanarak bunu sağlayan
243 mekanizmaların olabildiğince esnek davranabilmesi sağlanabilir.</p>
245 <h3><a name="downgrade" id="downgrade"><code>downgrade-1.0</code></a></h3>
248 <p>İstek, daha yüksek bir HTTP protokolüyle yapılmış olsa bile
249 HTTP/1.0 isteği olarak ele alınır.</p>
252 <h3><a name="force-gzip" id="force-gzip"><code>force-gzip</code></a></h3>
254 <p><code>DEFLATE</code> süzgeci etkinse tarayıcının tercih ettiği
255 kodlama koşulsuz olarak yoksayılarak sıkıştırılmış çıktı
258 <h3><a name="force-no-vary" id="force-no-vary"><code>force-no-vary</code></a></h3>
261 <p>İstemciye gönderilmeden önce yanıttan <code>Vary</code> alanının
262 çıkarılmasına sebep olur. Bazı istemciler bu alanı gerektiği gibi
263 yorumlayamazlar, bu değişken atanarak bu sorunla karşılaşılmamaya
264 çalışılır. Bu değişkenin atanması ayrıca
265 <strong>force-response-1.0</strong> değişkeninin de atanmasına sebep
269 <h3><a name="force-response" id="force-response"><code>force-response-1.0</code></a></h3>
272 <p>HTTP/1.0 isteği yapan istemcilere HTTP/1.0 yanıtı verilmesini zorunlu
273 kılar. AOL vekillerindeki bir sorun nedeniyle gerçeklenmiştir. Bazı
274 HTTP/1.0 istemciler HTTP/1.1 yanıtlarında doğru davranmayabilirler; bu
275 değişken atanarak bunların sorunları giderilebilir.</p>
279 <h3><a name="gzip-only-text-html" id="gzip-only-text-html"><code>gzip-only-text/html</code></a></h3>
282 <p>Bu değişkene "1" değeri atandığında <code>text/html</code>’den
283 farklı içerik türleri için <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> modülü
284 tarafından sağlanan <code>DEFLATE</code> çıktı süzgeci iptal
285 edilir. Sıkıştırılmış olarak saklanan dosyalar kullanıyorsanız bu
286 değişkeni <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> modülü de dikkate alır
287 (kimliğine bakarak sadece gzip için değil, tüm kodlamalar için bunu
291 <h3><a name="no-gzip" id="no-gzip"><code>no-gzip</code></a></h3>
293 <p>Bu değişken atandığında, <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> modülünün
294 <code>DEFLATE</code> süzgeci kapatılır ve
295 <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> modülü kodlanmış kaynak teslimatını
300 <h3><a name="no-cache" id="no-cache">no-cache</a></h3>
301 <p><em>2.2.12 sürümünden beri kullanılabilmektedir.</em></p>
303 <p>Atandığı takdirde, <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> artık
304 önbelleklenebilecek yanıtları kaydetmeyecektir. Bu ortam değişkeni bir
305 yanıtın halihazırda mevcut bir isteğe sunulmak üzere önbellekte olup
306 olmadığından etkilenmez.</p>
310 <h3><a name="nokeepalive" id="nokeepalive"><code>nokeepalive</code></a></h3>
313 <p>Bu değişken atandığında, <code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code> yönergesi iptal edilir.</p>
317 <h3><a name="prefer-language" id="prefer-language"><code>prefer-language</code></a></h3>
320 <p>Değer olarak <code>en</code>, <code>ja</code> veya
321 <code>x-klingon</code> gibi bir dil kısaltması verilerek atanmışsa
322 <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> modülünün normal davranışını
323 değiştirerek belirtilen dilde bir teslimat yapılmaya çalışılır.
324 Böyle bir belge yoksa normal <a href="content-negotiation.html">uzlaşım</a> süreci uygulanır.</p>
328 <h3><a name="redirect-carefully" id="redirect-carefully"><code>redirect-carefully</code></a></h3>
331 <p>İstemciye bir yönlendirme gönderirken sunucuyu daha dikkatli olmaya
332 zorlar. Bu genellikle istemcinin yönlendirmeler konusunda sorunlu
333 olduğu bilindiği takdirde yararlı olur. Bu değişkenin gerçeklenme
334 sebebi, dizin kaynaklarına yönlendirmeler için DAV yöntemlerini
335 kullanan Microsoft'un WebFolders yazılımındaki bir sorundur.</p>
339 <h3><a name="suppress-error-charset" id="suppress-error-charset"><code>suppress-error-charset</code></a></h3>
342 <p><em>2.0.54 sürümünden beri mevcuttur.</em></p>
344 <p>Apache bir isteğe bir yönlendirme ile yanıt verdiğinde istemci
345 yönlendirmeyi kendiliğinden yapmaz veya yapamazsa kullanıcıya yanıtla
346 birlikte gönderilen metin gösterilir. Apache normal olarak bu metni
347 ISO-8859-1 ile kodlar.</p>
349 <p>Ancak, yönlendirmenin yapıldığı sayfa farklı bir karakter kümesine
350 sahipse bazı tarayıcı sürümleri asıl sayfanın karakter kodlaması yerine
351 yönlendirmenin kodlamasını kullanmaya çalışırlar. Bu özellikle Yunanca
352 gibi dillerde hedef sayfanın hatalı yorumlanmasına yol açar.</p>
354 <p>Bu ortam değişkeninin atanması Apache’nin yönlendirme için karakter
355 kümesi belirtmemesini sağlamak suretiyle hatalı tarayıcıların hedef
356 sayfayı yanlış karakter kodlamasıyla yorumlamasını önler.</p>
358 <div class="warning">
359 <h3>Güvenlik Uyarısı</h3>
361 <p>Hata sayfalarının bir karakter kümesi belirtilmeksizin yollanması,
362 HTTP/1.1 belirtimine uymayan ve karakter kümesini içeriğe bakarak
363 tahmin etmeye çalışan tarayıcılarda (MSIE) karşı siteden betik
364 saldırısı yorumuna sebep olabilir. Girdi verisindeki UTF-7 içerik
365 (istek betimleyici gibi) karşı siteden betik saldırılarını engellemek
366 için tasarlanmış normal önceleme mekanizmalarıyla öncelenmeyeceği için
367 böyle tarayıcılar UTF-7 karakter kodlaması kullanılarak kolayca
373 <h3><a name="proxy" id="proxy"><code>force-proxy-request-1.0</code>,
374 <code>proxy-nokeepalive</code>, <code>proxy-sendchunked</code> ve
375 <code>proxy-sendcl</code>, <code>proxy-chain-auth</code>,
376 <code>proxy-interim-response</code>, <code>proxy-initial-not-pooled</code>
379 <p>Bu yönergeler <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> modülünün normal protokol
380 davranışını değiştirirler. Daha ayrıntılı bilgi için
381 <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> ve <code class="module"><a href="./mod/mod_proxy_http.html">mod_proxy_http</a></code>
382 belgelerine bakınız.</p>
385 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
386 <div class="section">
387 <h2><a name="examples" id="examples">Örnekler</a></h2>
390 <h3><a name="fixheader" id="fixheader">Bozuk başlıkların CGI betiklerine aktarılması</a></h3>
393 <p>2.4 sürümünden itibaren, <code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code> modülü ve diğer
394 modüllerde HTTP başlıklarının ortam değişkenlerine dönüştürülmesi
395 bağlamında Apache daha seçici davranmaktadır. Önce HTTP başlığındaki
396 geçersiz karakterlerin tamamı altçizgilere dönüştürülür. Bu, başlık
397 zerki yoluyla yapılan karşı-site-betiklerini-çalıştırma saldırısını
398 önlemeye yöneliktir. (Bakınız: <a href="http://events.ccc.de/congress/2007/Fahrplan/events/2212.en.html">Unusual Web Bugs</a>, slide 19/20).</p>
400 <p>Bozuk başlıklar gönderdiği halde bunlara dokunulmamasını gerektiren
401 bir istemciniz varsa, <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> ve
402 <code class="module"><a href="./mod/mod_header.html">mod_header</a></code> modüllerinin sunduğu yapıyı örnekteki gibi
403 kullanarak bu sorunun üstesinden gelebilirsiniz:</p>
405 <div class="example"><p><code>
407 # Aşağıdaki satırlarla bir istemcinin gönderdiği bozuk<br />
408 # Accept_Encoding başlıklarının istenildiği gibi işlenmesi<br />
409 # sağlanabilir.<br />
411 SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1<br />
412 RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding
417 <h3><a name="misbehaving" id="misbehaving">Protokolü yanlış yorumlayan tarayıcıların davranışlarının
418 değiştirilmesi</a></h3>
421 <p>Önceki sürümlerde bilinen istemci davranışlarına karşı önlem olarak
422 aşağıdaki satırların <code>httpd.conf</code> içinde bulunması
423 önerilirdi. Fakat, böyle tarayıcılar artık ortalıkta görünmediğinden
424 bu yapılandırmaya da artık gerek kalmamıştır.</p>
426 <div class="example"><p><code>
428 # Aşağıdaki yönergeler normal HTTP yanıt davranışını değiştirirler.<br />
429 # İlk yönerge Netscape 2.x ve kendini öyle gösteren tarayıcılar için<br />
430 # kalıcı bağlantıyı (keepalive) iptal eder. İkinci yönerge ise HTTP/1.1<br />
431 # protokolü bozuk olan ve 301/302 durum kodlu yönlendirme yanıtları<br />
432 # kullanıldığında kalıcı bağlantıları gerektiği gibi desteklemeyen<br />
433 # Microsoft Internet Explorer 4.0b2 içindir.<br />
435 BrowserMatch "Mozilla/2" nokeepalive<br />
436 BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0<br />
439 # Aşağıdaki yönergeler HTTP/1.0 yanıtlarından başkasına yabancı olan<br />
440 # tarayıcılara HTTP/1.1 yanıtlarının gönderilmesini iptal eder.<br />
442 BrowserMatch "RealPlayer 4\.0" force-response-1.0<br />
443 BrowserMatch "Java/1\.0" force-response-1.0<br />
444 BrowserMatch "JDK/1\.0" force-response-1.0
448 <h3><a name="no-img-log" id="no-img-log">Resim isteklerinin erişim günlüğüne kaydedilmemesi</a></h3>
451 <p>Bu örnek resim isteklerinin erişim günlüğüne yazılmasını engeller.
452 Bu örnek değiştirilerek belli dizinlerin veya belli konaklardan
453 gelen isteklerin günlüğe kaydedilmesini engellemek amacıyla da
456 <div class="example"><p><code>
457 SetEnvIf Request_URI \.gif image-request<br />
458 SetEnvIf Request_URI \.jpg image-request<br />
459 SetEnvIf Request_URI \.png image-request<br />
460 CustomLog logs/access_log common env=!image-request
464 <h3><a name="image-theft" id="image-theft">“Resim Hırsızlığı” için önlem alınması</a></h3>
467 <p>Bu örnekte sunucunuzda bulunmayan sayfalarda sunucunuzdaki
468 resimlerin kullanılmasının nasıl önleneceği gösterilmiştir. Bu
469 yapılandırma önerilmemekle birlikte nadir durumlarda işe yarar. Tüm
470 resimlerin <code>/siteler/resimler</code> dizini altında tutulduğu
473 <div class="example"><p><code>
474 SetEnvIf Referer "^http://www\.example\.com/" local_referal<br />
475 # Referrer bilgisi göndermeyen tarayıcılara izin verelim<br />
476 SetEnvIf Referer "^$" local_referal<br />
477 <Directory /siteler/resimler><br />
478 <span class="indent">
479 Order Deny,Allow<br />
481 Allow from env=local_referal
486 <p>Bu teknik hakkında daha ayrıntılı bilgi edinmek için ServerWatch
487 üzerindeki "<a href="http://www.serverwatch.com/tutorials/article.php/1132731">Diğer sitelerin sizin resimlerinizle donatılmasını engellemek</a>"
488 belgesine bakınız.</p>
491 <div class="bottomlang">
492 <p><span>Mevcut Diller: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> |
493 <a href="./fr/env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
494 <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
495 <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
496 <a href="./tr/env.html" title="Türkçe"> tr </a></p>
497 </div><div id="footer">
498 <p class="apache">Copyright 2012 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
499 <p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="./faq/">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div>