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" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
12 <script src="./style/scripts/prettify.js" type="text/javascript">
15 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
16 <body id="manual-page"><div id="page-header">
17 <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>
18 <p class="apache">Apache HTTP Sunucusu Sürüm 2.5</p>
19 <img alt="" src="./images/feather.gif" /></div>
20 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
22 <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>
24 <p><span>Mevcut Diller: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> |
25 <a href="./fr/env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
26 <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
27 <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
28 <a href="./tr/env.html" title="Türkçe"> tr </a></p>
31 <p>Apache HTTP Sunucusunu etkileyen ortam değişkenleri iki çeşittir.</p>
33 <p>İlki, işletim sisteminin denetimindeki ortam değişkenleridir. Bu
34 değişkenlere değer atama işlemi sunucu başlatılmadan önce yapılır.
35 Bunlar yapılandırma dosyalarının içinde kullanılabilir. Ayrıca,
36 istenirse PassEnv yönergesi kullanılarak bunlar CGI betiklerine ve
37 SSI sayfalarına da aktarılabilir.</p>
39 <p>İkincisi ise, Apache HTTP Sunucusunun kendi ortam değişkenleridir.
40 Bu değişkenlerde saklanan bilgi erişim denetimi, günlük kaydı gibi
41 çeşitli işlemleri denetlemekte kullanılabilir. Değişkenler ayrıca, CGI
42 betikleri gibi harici uygulamalarla iletişim mekanizması olarak da
43 kullanılabilir. Bu belgede bu değişkenler üzerindeki işlemlere ve
44 kullanım şekillerine değinilmiştir.</p>
46 <p>Bu değişkenlere <em>ortam değişkenleri</em> dense de işletim sisteminin
47 ortam değişkenleri gibi değillerdir. Bunlar sadece Apache ortamında
48 geçerli değişkenler olup işletim sisteminin bu değişkenlerden haberi
49 olmaz. Sadece CGI betikleri ve SSI sayfaları gibi harici uygulamalar
50 tarafından üretilen ortam değişkenleri sistem ortamının değişkenleri
51 haline gelirler. İşletim sistemi ortamına çalışmakta olan sunucudan
52 müdahale etmek isterseniz işletim sisteminizin kabuğu tarafından sağlanan
53 standart ortam müdahale mekanizmalarını kullanmalısınız.</p>
55 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#setting">Ortam Değişkenlerinin Atanması</a></li>
56 <li><img alt="" src="./images/down.gif" /> <a href="#using">Ortam Değişkenlerinin Kullanımı</a></li>
57 <li><img alt="" src="./images/down.gif" /> <a href="#special">Özel Amaçlı Ortam Değişkenleri</a></li>
58 <li><img alt="" src="./images/down.gif" /> <a href="#examples">Örnekler</a></li>
60 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
62 <h2><a name="setting" id="setting">Ortam Değişkenlerinin Atanması</a></h2>
64 <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>
66 <h3><a name="basic-manipulation" id="basic-manipulation">Temel Ortamda Değişiklik</a></h3>
69 <p>Apache ortamında bir ortam değişkenine müdahale etmenin en temel
70 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
71 başlatılırken sistem ortam değişkenleri haline getirmek için
72 <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code> yönergesi
76 <h3><a name="conditional" id="conditional">İsteğe Bağlı Şartlı Atamalar</a></h3>
79 <p>Esnekliği arttırmak için, <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> modülü ile
80 isteğin özelliklerine uygun olarak her isteğe özel değişkenler
81 atayabilmek mümkün kılınmıştır. Örneğin, bir değişken sadece isteği
82 yapan tarayıcıya özgü bir değerle veya sadece belli bir başlık
83 alanınına bağlı olarak atanabilir. Daha da esnek bir mekanizma,
84 ortam değişkeni atamak için <code>[E=...]</code> seçeneğinin
85 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
89 <h3><a name="unique-identifiers" id="unique-identifiers">Eşsiz Betimleyiciler</a></h3>
92 <p>Son olarak, <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> <code>UNIQUE_ID</code>
93 ortam değişkenine her istek için o isteğin çok özel koşullar altında
94 tüm diğer istekler arasında eşsizliğini garanti edecek bir değer
98 <h3><a name="standard-cgi" id="standard-cgi">Standart CGI Değişkenleri</a></h3>
101 <p>Apache yapılandırmasıyla atanan ve kabuğa aktarılan ortam
102 değişkenlerinden başka <a href="http://www.ietf.org/rfc/rfc3875">CGI
103 Belirtimi</a>nin gerektirdiği istekler hakkında temel bilgileri
104 içeren ortam değişkenlerinin CGI betikleri ve SSI sayfalarınca
105 atanabilmesi sağlanmıştır.</p>
108 <h3><a name="caveats" id="caveats">Bazı Yetersizlikler</a></h3>
112 <li>Standart CGI değişkenlerini ortam değişkenlerine müdahale
113 yönergelerini kullanarak değiştirmek veya geçersiz kılmak mümkün
116 <li>CGI betiklerini çalıştırmak için <code class="program"><a href="./programs/suexec.html">suexec</a></code>
117 kullanıldığında ortam, CGI betikleri çalıştırılmadan önce
118 <em>güvenilir</em> değişkenler kalacak şekilde temizlenir.
119 <em>Güvenilir</em> değişken listesi <code>suexec.c</code> içinde
120 derleme sırasında tanımlanır.</li>
122 <li>Taşınabilirlik adına, ortam değişkenlerinin isimleri sadece
123 harfler, rakamlar ve alt çizgi imlerini içerebilir. Bunlara ek
124 olarak ismin ilk karakteri bir rakam olmamalıdır. Değişkenler CGI
125 betiklerine ve SSI sayfalarına aktarılırken bu sınırlamalara uygun
126 olmayan karakterlerin yerlerine alt çizgi imleri konur.</li>
128 <li>Bir özel durum, CGI betiklerine ve benzerlerine ortam
129 değişkenleri üzerinden aktarılan HTTP başlıklarıdır (aşağıya
130 bakın). Bunlar büyük harfe dönüştürülür ve sadece tireler
131 altçizgilere dönüştürülür. Eğer HTTP başlığı geçersiz karakter
132 içeriyorsa başlığın tamamı yoksayılır. Böyle bir durumda ne
133 yapılacağı öğrenmek için <a href="#fixheader">aşağıya</a>
136 <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,
137 yani <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> ve
138 <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> gibi
139 yönergeler <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> ile
140 atanan değişken değerlerini görmezler.</li>
143 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
144 <div class="section">
145 <h2><a name="using" id="using">Ortam Değişkenlerinin Kullanımı</a></h2>
148 <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_access_compat.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_access_compat.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>
150 <h3><a name="cgi-scripts" id="cgi-scripts">CGI Betikleri</a></h3>
153 <p>Ortam değişkenlerinin başlıca amaçlarından biri CGI betikleriyle
154 iletişim kurmaktır. Yukarıda bahsedildiği gibi CGI betiklerine
155 aktarılan ortam Apache yapılandırmasında atanan değişkenlere ek
156 olarak istek hakkında standart temel bilgileri de içerir. Bu konuda
157 ayrıntılı bilgi edinmek için <a href="howto/cgi.html">CGI
158 Öğreticisi</a>ne bakabilirsiniz.</p>
161 <h3><a name="ssi-pages" id="ssi-pages">SSI Sayfaları</a></h3>
164 <p>Sunucu tarafında <code class="module"><a href="./mod/mod_include.html">mod_include</a></code> modülünün
165 <code>INCLUDES</code> süzgeci ile yorumlanan SSI sayfalarında ortam
166 değişkenleri <code>echo</code> elemanı ile basılabilir ve sayfayı
167 isteğin özelliklerine uygun olarak oluşturmak için ortam
168 değişkenleri akış denetim elemanları içinde kullanılabilir. Apache
169 ayrıca, yukarıda bahsedildiği gibi standart CGI ortam değişkenli SSI
170 sayfalarını da sağlayabilmektedir. Daha ayrıntılı bilgi edinmek için
171 <a href="howto/ssi.html">SSI Öğreticisi</a>ne bakabilirsiniz.</p>
174 <h3><a name="access-control" id="access-control">Erişim Denetimi</a></h3>
177 <p><code>allow from env=</code> ve <code>deny from env=</code>
178 yönergeleri sayesinde ortam değişkenlerine dayalı olarak sunucuya
179 erişim denetim altında tutulabilir. Bunlar <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> yönergesi ile birlikte
180 kullanılmak suretiyle sunucuya erişim isteğin özelliklerine bağlı
181 olarak daha esnek bir tarzda denetlenebilir. Örneğin, belli bir
182 tarayıcının sunucuya erişimi bu yönergelerle engellenebilir.</p>
185 <h3><a name="logging" id="logging">Şartlı Günlük Kaydı</a></h3>
188 <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
189 kullanılarak erişim günlüğüne kaydedilebilir. Bundan başka,
190 <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi
191 sayesinde isteklerin günlüğe kaydedilip kaydedilmeyeceğine ortam
192 değişkenlerine dayalı olarak karar verilmesi sağlanabilir. Bunlar
193 <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> yönergesi ile
194 birlikte kullanılmak suretiyle günlük kayıtları isteğin
195 özelliklerine bağlı olarak daha esnek bir tarzda denetlenebilir.
196 Örneğin, <code>gif</code> uzantılı dosyalar için yapılan isteklerin
197 günlüğe kaydedilmemesi veya sadece alt ağınızın dışından gelen
198 isteklerin günlüğe kaydedilmesini isteyebilirsiniz.</p>
201 <h3><a name="response-headers" id="response-headers">Şartlı Yanıt Başlıkları</a></h3>
204 <p><code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code> yönergesi belli
205 bir yanıt başlığının istemciye gönderilip gönderilmeyeceğine belli
206 bir ortam değişkeninin varlığına bakarak karar vermek için
207 kullanılabilir. Böylece örneğin, belli bir başlığın istemciye
208 gönderilmesine istemciden belli bir başlığın alınıp alınmadığına
209 bağlı olarak karar verilebilir.</p>
213 <h3><a name="external-filter" id="external-filter">Harici Süzgeçlerin Etkinleştirilmesi</a></h3>
216 <p><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> tarafından yapılandırılan harici
217 süzgeçler <code class="directive"><a href="./mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code> yönergesinin <code>disableenv=</code> ve
218 <code>enableenv=</code> seçenekleri kullanılarak bir ortam
219 değişkenine bağlı olarak etkinleştirilebilir.</p>
222 <h3><a name="url-rewriting" id="url-rewriting">URL Kurgulaması</a></h3>
225 <p><code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>
226 yönergesinin <em>SınamaDizgesi</em> olarak kullanılan
227 <code>%{ENV:<em>değişken</em>}</code> biçemi
228 <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> yeniden yazma motorunun ortam
229 değişkenlerine bağlı kararlar almasını mümkün kılar. Yalnız şuna
230 dikkat ediniz: <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>’ta <code>ENV:</code>
231 öneki kullanılmadan belirtilen değişkenler ortam değişkenleri
232 değillerdir. Onlar <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>’a özgü diğer
233 modüllerden erişilemeyen özel değişkenlerdir.</p>
235 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
236 <div class="section">
237 <h2><a name="special" id="special">Özel Amaçlı Ortam Değişkenleri</a></h2>
240 <p>Birlikte çalışabilirlik sorunları Apache’nin belli istemcilerle
241 veri alışverişi sırasında davranışını değiştirmesini gerektirebilir.
242 Genellikle <code class="directive"><a href="./mod/mod_env.html#setenv">SetEnv</a></code> ve
243 <code class="directive"><a href="./mod/mod_env.html#passenv">PassEnv</a></code> yönergelerinden
244 başka <code class="directive"><a href="./mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>
245 gibi yönergelerle ortam değişkenleri atanarak bunu sağlayan
246 mekanizmaların olabildiğince esnek davranabilmesi sağlanabilir.</p>
248 <h3><a name="downgrade" id="downgrade"><code>downgrade-1.0</code></a></h3>
251 <p>İstek, daha yüksek bir HTTP protokolüyle yapılmış olsa bile
252 HTTP/1.0 isteği olarak ele alınır.</p>
255 <h3><a name="force-gzip" id="force-gzip"><code>force-gzip</code></a></h3>
257 <p><code>DEFLATE</code> süzgeci etkinse tarayıcının tercih ettiği
258 kodlama koşulsuz olarak yoksayılarak sıkıştırılmış çıktı
261 <h3><a name="force-no-vary" id="force-no-vary"><code>force-no-vary</code></a></h3>
264 <p>İstemciye gönderilmeden önce yanıttan <code>Vary</code> alanının
265 çıkarılmasına sebep olur. Bazı istemciler bu alanı gerektiği gibi
266 yorumlayamazlar, bu değişken atanarak bu sorunla karşılaşılmamaya
267 çalışılır. Bu değişkenin atanması ayrıca
268 <strong>force-response-1.0</strong> değişkeninin de atanmasına sebep
272 <h3><a name="force-response" id="force-response"><code>force-response-1.0</code></a></h3>
275 <p>HTTP/1.0 isteği yapan istemcilere HTTP/1.0 yanıtı verilmesini zorunlu
276 kılar. AOL vekillerindeki bir sorun nedeniyle gerçeklenmiştir. Bazı
277 HTTP/1.0 istemciler HTTP/1.1 yanıtlarında doğru davranmayabilirler; bu
278 değişken atanarak bunların sorunları giderilebilir.</p>
282 <h3><a name="gzip-only-text-html" id="gzip-only-text-html"><code>gzip-only-text/html</code></a></h3>
285 <p>Bu değişkene "1" değeri atandığında <code>text/html</code>’den
286 farklı içerik türleri için <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> modülü
287 tarafından sağlanan <code>DEFLATE</code> çıktı süzgeci iptal
288 edilir. Sıkıştırılmış olarak saklanan dosyalar kullanıyorsanız bu
289 değişkeni <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> modülü de dikkate alır
290 (kimliğine bakarak sadece gzip için değil, tüm kodlamalar için bunu
294 <h3><a name="no-gzip" id="no-gzip"><code>no-gzip</code></a></h3>
296 <p>Bu değişken atandığında, <code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> modülünün
297 <code>DEFLATE</code> süzgeci kapatılır ve
298 <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> modülü kodlanmış kaynak teslimatını
303 <h3><a name="no-cache" id="no-cache">no-cache</a></h3>
304 <p><em>2.2.12 sürümünden beri kullanılabilmektedir.</em></p>
306 <p>Atandığı takdirde, <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> artık
307 önbelleklenebilecek yanıtları kaydetmeyecektir. Bu ortam değişkeni bir
308 yanıtın halihazırda mevcut bir isteğe sunulmak üzere önbellekte olup
309 olmadığından etkilenmez.</p>
313 <h3><a name="nokeepalive" id="nokeepalive"><code>nokeepalive</code></a></h3>
316 <p>Bu değişken atandığında, <code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code> yönergesi iptal edilir.</p>
320 <h3><a name="prefer-language" id="prefer-language"><code>prefer-language</code></a></h3>
323 <p>Değer olarak <code>en</code>, <code>ja</code> veya
324 <code>x-klingon</code> gibi bir dil kısaltması verilerek atanmışsa
325 <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code> modülünün normal davranışını
326 değiştirerek belirtilen dilde bir teslimat yapılmaya çalışılır.
327 Böyle bir belge yoksa normal <a href="content-negotiation.html">uzlaşım</a> süreci uygulanır.</p>
331 <h3><a name="redirect-carefully" id="redirect-carefully"><code>redirect-carefully</code></a></h3>
334 <p>İstemciye bir yönlendirme gönderirken sunucuyu daha dikkatli olmaya
335 zorlar. Bu genellikle istemcinin yönlendirmeler konusunda sorunlu
336 olduğu bilindiği takdirde yararlı olur. Bu değişkenin gerçeklenme
337 sebebi, dizin kaynaklarına yönlendirmeler için DAV yöntemlerini
338 kullanan Microsoft'un WebFolders yazılımındaki bir sorundur.</p>
342 <h3><a name="suppress-error-charset" id="suppress-error-charset"><code>suppress-error-charset</code></a></h3>
345 <p><em>2.0.54 sürümünden beri mevcuttur.</em></p>
347 <p>Apache bir isteğe bir yönlendirme ile yanıt verdiğinde istemci
348 yönlendirmeyi kendiliğinden yapmaz veya yapamazsa kullanıcıya yanıtla
349 birlikte gönderilen metin gösterilir. Apache normal olarak bu metni
350 ISO-8859-1 ile kodlar.</p>
352 <p>Ancak, yönlendirmenin yapıldığı sayfa farklı bir karakter kümesine
353 sahipse bazı tarayıcı sürümleri asıl sayfanın karakter kodlaması yerine
354 yönlendirmenin kodlamasını kullanmaya çalışırlar. Bu özellikle Yunanca
355 gibi dillerde hedef sayfanın hatalı yorumlanmasına yol açar.</p>
357 <p>Bu ortam değişkeninin atanması Apache’nin yönlendirme için karakter
358 kümesi belirtmemesini sağlamak suretiyle hatalı tarayıcıların hedef
359 sayfayı yanlış karakter kodlamasıyla yorumlamasını önler.</p>
361 <div class="warning">
362 <h3>Güvenlik Uyarısı</h3>
364 <p>Hata sayfalarının bir karakter kümesi belirtilmeksizin yollanması,
365 HTTP/1.1 belirtimine uymayan ve karakter kümesini içeriğe bakarak
366 tahmin etmeye çalışan tarayıcılarda (MSIE) karşı siteden betik
367 saldırısı yorumuna sebep olabilir. Girdi verisindeki UTF-7 içerik
368 (istek betimleyici gibi) karşı siteden betik saldırılarını engellemek
369 için tasarlanmış normal önceleme mekanizmalarıyla öncelenmeyeceği için
370 böyle tarayıcılar UTF-7 karakter kodlaması kullanılarak kolayca
376 <h3><a name="proxy" id="proxy"><code>force-proxy-request-1.0</code>,
377 <code>proxy-nokeepalive</code>, <code>proxy-sendchunked</code> ve
378 <code>proxy-sendcl</code>, <code>proxy-chain-auth</code>,
379 <code>proxy-interim-response</code>, <code>proxy-initial-not-pooled</code>
382 <p>Bu yönergeler <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> modülünün normal protokol
383 davranışını değiştirirler. Daha ayrıntılı bilgi için
384 <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>
385 belgelerine bakınız.</p>
388 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
389 <div class="section">
390 <h2><a name="examples" id="examples">Örnekler</a></h2>
393 <h3><a name="fixheader" id="fixheader">Bozuk başlıkların CGI betiklerine aktarılması</a></h3>
396 <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
397 modüllerde HTTP başlıklarının ortam değişkenlerine dönüştürülmesi
398 bağlamında Apache daha seçici davranmaktadır. Önce HTTP başlığındaki
399 geçersiz karakterlerin tamamı altçizgilere dönüştürülür. Bu, başlık
400 zerki yoluyla yapılan karşı-site-betiklerini-çalıştırma saldırısını
401 ö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>
403 <p>Bozuk başlıklar gönderdiği halde bunlara dokunulmamasını gerektiren
404 bir istemciniz varsa, <code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code> ve
405 <code class="module"><a href="./mod/mod_header.html">mod_header</a></code> modüllerinin sunduğu yapıyı örnekteki gibi
406 kullanarak bu sorunun üstesinden gelebilirsiniz:</p>
408 <div class="example"><p><code>
410 # Aşağıdaki satırlarla bir istemcinin gönderdiği bozuk<br />
411 # Accept_Encoding başlıklarının istenildiği gibi işlenmesi<br />
412 # sağlanabilir.<br />
414 SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1<br />
415 RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding
420 <h3><a name="misbehaving" id="misbehaving">Protokolü yanlış yorumlayan tarayıcıların davranışlarının
421 değiştirilmesi</a></h3>
424 <p>Önceki sürümlerde bilinen istemci davranışlarına karşı önlem olarak
425 aşağıdaki satırların <code>httpd.conf</code> içinde bulunması
426 önerilirdi. Fakat, böyle tarayıcılar artık ortalıkta görünmediğinden
427 bu yapılandırmaya da artık gerek kalmamıştır.</p>
429 <div class="example"><p><code>
431 # Aşağıdaki yönergeler normal HTTP yanıt davranışını değiştirirler.<br />
432 # İlk yönerge Netscape 2.x ve kendini öyle gösteren tarayıcılar için<br />
433 # kalıcı bağlantıyı (keepalive) iptal eder. İkinci yönerge ise HTTP/1.1<br />
434 # protokolü bozuk olan ve 301/302 durum kodlu yönlendirme yanıtları<br />
435 # kullanıldığında kalıcı bağlantıları gerektiği gibi desteklemeyen<br />
436 # Microsoft Internet Explorer 4.0b2 içindir.<br />
438 BrowserMatch "Mozilla/2" nokeepalive<br />
439 BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0<br />
442 # Aşağıdaki yönergeler HTTP/1.0 yanıtlarından başkasına yabancı olan<br />
443 # tarayıcılara HTTP/1.1 yanıtlarının gönderilmesini iptal eder.<br />
445 BrowserMatch "RealPlayer 4\.0" force-response-1.0<br />
446 BrowserMatch "Java/1\.0" force-response-1.0<br />
447 BrowserMatch "JDK/1\.0" force-response-1.0
451 <h3><a name="no-img-log" id="no-img-log">Resim isteklerinin erişim günlüğüne kaydedilmemesi</a></h3>
454 <p>Bu örnek resim isteklerinin erişim günlüğüne yazılmasını engeller.
455 Bu örnek değiştirilerek belli dizinlerin veya belli konaklardan
456 gelen isteklerin günlüğe kaydedilmesini engellemek amacıyla da
459 <div class="example"><p><code>
460 SetEnvIf Request_URI \.gif image-request<br />
461 SetEnvIf Request_URI \.jpg image-request<br />
462 SetEnvIf Request_URI \.png image-request<br />
463 CustomLog logs/access_log common env=!image-request
467 <h3><a name="image-theft" id="image-theft">“Resim Hırsızlığı” için önlem alınması</a></h3>
470 <p>Bu örnekte sunucunuzda bulunmayan sayfalarda sunucunuzdaki
471 resimlerin kullanılmasının nasıl önleneceği gösterilmiştir. Bu
472 yapılandırma önerilmemekle birlikte nadir durumlarda işe yarar. Tüm
473 resimlerin <code>/siteler/resimler</code> dizini altında tutulduğu
476 <div class="example"><p><code>
477 SetEnvIf Referer "^http://www\.example\.com/" local_referal<br />
478 # Referrer bilgisi göndermeyen tarayıcılara izin verelim<br />
479 SetEnvIf Referer "^$" local_referal<br />
480 <Directory /siteler/resimler><br />
481 <span class="indent">
482 Order Deny,Allow<br />
484 Allow from env=local_referal
489 <p>Bu teknik hakkında daha ayrıntılı bilgi edinmek için ServerWatch
490 üzerindeki "<a href="http://www.serverwatch.com/tutorials/article.php/1132731">Diğer sitelerin sizin resimlerinizle donatılmasını engellemek</a>"
491 belgesine bakınız.</p>
494 <div class="bottomlang">
495 <p><span>Mevcut Diller: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> |
496 <a href="./fr/env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
497 <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
498 <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
499 <a href="./tr/env.html" title="Türkçe"> tr </a></p>
500 </div><div id="footer">
501 <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>
502 <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><script type="text/javascript">
503 if (typeof(prettyPrint) !== undefined) {