<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
-<!-- English Revision: 810187:1174747 (outdated) -->
+<!-- English Revision: 1174747 -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
<title>Apache’de Ortam Değişkenleri</title>
<summary>
- <p>Apache HTTP Sunucusunda bilgiyi değişkenlerde saklamak için <em>ortam
- değişkenleri</em> adı verilen bir mekanizma bulunur. Saklanan bu bilgi
- erişim denetimi, günlük kaydı gibi çeşitli işlemleri denetlemekte
- kullanılabilir. Değişkenler ayrıca, CGI betikleri gibi harici
- uygulamalarla iletişim mekanizması olarak da kullanılabilir. Bu belgede
- bu değişkenler üzerindeki işlemlere ve kullanım şekillerine
- değinilmiştir.</p>
+ <p>Apache HTTP Sunucusunu etkileyen ortam değişkenleri iki çeşittir.</p>
+
+ <p>İlki, işletim sisteminin denetimindeki ortam değişkenleridir. Bu
+ değişkenlere değer atama işlemi sunucu başlatılmadan önce yapılır.
+ Bunlar yapılandırma dosyalarının içinde kullanılabilir. Ayrıca,
+ istenirse PassEnv yönergesi kullanılarak bunlar CGI betiklerine ve
+ SSI sayfalarına da aktarılabilir.</p>
+
+ <p>İkincisi ise, Apache HTTP Sunucusunun kendi ortam değişkenleridir.
+ Bu değişkenlerde saklanan bilgi erişim denetimi, günlük kaydı gibi
+ çeşitli işlemleri denetlemekte kullanılabilir. Değişkenler ayrıca, CGI
+ betikleri gibi harici uygulamalarla iletişim mekanizması olarak da
+ kullanılabilir. Bu belgede bu değişkenler üzerindeki işlemlere ve
+ kullanım şekillerine değinilmiştir.</p>
<p>Bu değişkenlere <em>ortam değişkenleri</em> dense de işletim sisteminin
ortam değişkenleri gibi değillerdir. Bunlar sadece Apache ortamında
<title>Ortam Değişkenlerinin Atanması</title>
<related>
<modulelist>
+ <module>mod_cache</module>
<module>mod_env</module>
<module>mod_rewrite</module>
<module>mod_setenvif</module>
<title>Standart CGI Değişkenleri</title>
<p>Apache yapılandırmasıyla atanan ve kabuğa aktarılan ortam
- değişkenlerinden başka <a href="http://www.w3.org/CGI/">CGI
+ değişkenlerinden başka <a href="http://www.ietf.org/rfc/rfc3875">CGI
Belirtimi</a>nin gerektirdiği istekler hakkında temel bilgileri
içeren ortam değişkenlerinin CGI betikleri ve SSI sayfalarınca
atanabilmesi sağlanmıştır.</p>
betiklerine ve SSI sayfalarına aktarılırken bu sınırlamalara uygun
olmayan karakterlerin yerlerine alt çizgi imleri konur.</li>
+ <li>Bir özel durum, CGI betiklerine ve benzerlerine ortam
+ değişkenleri üzerinden aktarılan HTTP başlıklarıdır (aşağıya
+ bakın). Bunlar büyük harfe dönüştürülür ve sadece tireler
+ altçizgilere dönüştürülür. Eğer HTTP başlığı geçersiz karakter
+ içeriyorsa başlığın tamamı yoksayılır. Böyle bir durumda ne
+ yapılacağı öğrenmek için <a href="#fixheader">aşağıya</a>
+ bakın.</li>
+
<li>İsteklerin işleme konması sırasında <directive
module="mod_env">SetEnv</directive> yönergesi geç çalıştırılır,
yani <directive module="mod_setenvif">SetEnvIf</directive> ve
<section id="examples">
<title>Örnekler</title>
+ <section id="fixheader">
+ <title>Bozuk başlıkların CGI betiklerine aktarılması</title>
+
+ <p>2.4 sürümünden itibaren, <module>mod_cgi</module> modülü ve diğer
+ modüllerde HTTP başlıklarının ortam değişkenlerine dönüştürülmesi
+ bağlamında Apache daha seçici davranmaktadır. Önce HTTP başlığındaki
+ geçersiz karakterlerin tamamı altçizgilere dönüştürülür. Bu, başlık
+ zerki yoluyla yapılan karşı-site-betiklerini-çalıştırma saldırısını
+ ö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>
+
+ <p>Bozuk başlıklar gönderdiği halde bunlara dokunulmamasını gerektiren
+ bir istemciniz varsa, <module>mod_setenvif</module> ve
+ <module>mod_header</module> modüllerinin sunduğu yapıyı örnekteki gibi
+ kullanarak bu sorunun üstesinden gelebilirsiniz:</p>
+
+<example>
+# <br />
+# Aşağıdaki satırlarla bir istemcinin gönderdiği bozuk<br />
+# Accept_Encoding başlıklarının istenildiği gibi işlenmesi<br />
+# sağlanabilir.<br />
+#<br />
+SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1<br />
+RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding
+</example>
+
+ </section>
+
<section id="misbehaving">
<title>Protokolü yanlış yorumlayan tarayıcıların davranışlarının
değiştirilmesi</title>
önerilirdi. Fakat, böyle tarayıcılar artık ortalıkta görünmediğinden
bu yapılandırmaya da artık gerek kalmamıştır.</p>
- <example><pre>
-#
-# Aşağıdaki yönergeler normal HTTP yanıt davranışını değiştirirler.
-# İlk yönerge Netscape 2.x ve kendini öyle gösteren tarayıcılar için
-# kalıcı bağlantıyı (keepalive) iptal eder. İkinci yönerge ise HTTP/1.1
-# protokolü bozuk olan ve 301/302 durum kodlu yönlendirme yanıtları
-# kullanıldığında kalıcı bağlantıları gerektiği gibi desteklemeyen
-# Microsoft Internet Explorer 4.0b2 içindir.
-#
-BrowserMatch "Mozilla/2" nokeepalive
-BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
-
-#
-# Aşağıdaki yönergeler HTTP/1.0 yanıtlarından başkasına yabancı olan
-# tarayıcılara HTTP/1.1 yanıtlarının gönderilmesini iptal eder.
-#
-BrowserMatch "RealPlayer 4\.0" force-response-1.0
-BrowserMatch "Java/1\.0" force-response-1.0
-BrowserMatch "JDK/1\.0" force-response-1.0</pre>
- </example>
+<example>
+#<br />
+# Aşağıdaki yönergeler normal HTTP yanıt davranışını değiştirirler.<br />
+# İlk yönerge Netscape 2.x ve kendini öyle gösteren tarayıcılar için<br />
+# kalıcı bağlantıyı (keepalive) iptal eder. İkinci yönerge ise HTTP/1.1<br />
+# protokolü bozuk olan ve 301/302 durum kodlu yönlendirme yanıtları<br />
+# kullanıldığında kalıcı bağlantıları gerektiği gibi desteklemeyen<br />
+# Microsoft Internet Explorer 4.0b2 içindir.<br />
+#<br />
+BrowserMatch "Mozilla/2" nokeepalive<br />
+BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0<br />
+<br />
+#<br />
+# Aşağıdaki yönergeler HTTP/1.0 yanıtlarından başkasına yabancı olan<br />
+# tarayıcılara HTTP/1.1 yanıtlarının gönderilmesini iptal eder.<br />
+#<br />
+BrowserMatch "RealPlayer 4\.0" force-response-1.0<br />
+BrowserMatch "Java/1\.0" force-response-1.0<br />
+BrowserMatch "JDK/1\.0" force-response-1.0
+</example>
</section>
<section id="no-img-log">
varsayılmıştır.</p>
<example>
- SetEnvIf Referer "^http://filan\.fesmekan\.dom/" local_referal<br />
+ SetEnvIf Referer "^http://www\.example\.com/" local_referal<br />
# Referrer bilgisi göndermeyen tarayıcılara izin verelim<br />
SetEnvIf Referer "^$" local_referal<br />
- <Directory /siteler/resimler>
+ <Directory /siteler/resimler><br />
<indent>
Order Deny,Allow<br />
Deny from all<br />
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
-<!-- English Revision: 659902:1221670 (outdated) -->
+<!-- English Revision: 1221670 -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
<module>mod_ext_filter</module>
<module>mod_include</module>
<module>mod_charset_lite</module>
+ <module>mod_reflector</module>
+ <module>mod_buffer</module>
+ <module>mod_data</module>
+ <module>mod_ratelimit</module>
+ <module>mod_reqtimeout</module>
+ <module>mod_request</module>
+ <module>mod_sed</module>
+ <module>mod_substitute</module>
+ <module>mod_xml2enc</module>
+ <module>mod_proxy_html</module>
</modulelist>
<directivelist>
<directive module="mod_filter">FilterChain</directive>
<directive module="mod_mime">AddOutputFilter</directive>
<directive module="mod_mime">RemoveInputFilter</directive>
<directive module="mod_mime">RemoveOutputFilter</directive>
+ <directive module="mod_reflector">ReflectorHeader</directive>
<directive module="mod_ext_filter">ExtFilterDefine</directive>
<directive module="mod_ext_filter">ExtFilterOptions</directive>
<directive module="core">SetInputFilter</directive>
</ul>
</section>
+ <section id="service">
+ <title>Süzgeçleri bir HTTP Hizmeti gibi göstermek </title>
+ <p>Süzgeçler, istemciden kaynaklanan içeriği işlemekte kullanılabileceği
+ gibi <module>mod_reflector</module> modülü kullanılarak sunucudan
+ kaynaklanan içeriği işlemekte de kullanılabilir.</p>
+
+ <p><module>mod_reflector</module> istemcilerden gelen POST isteklerini
+ kabul eder ve çıktı süzgeç yığıtı yoluyla istemciye aktararak, POST
+ isteği içinde alınan içerik istek gövdesini yanıt içinde geri
+ gönderir.</p>
+
+ <p>Bu teknik, bir çıktı süzgeciyle istek gövdesinde gerekli dönüşümün
+ sağlandığı durumda, bir uygulama sunucusu yığıtı içinde çalışan bir http
+ hizmetinin yerine de kullanılabilir. Örneğin,
+ <module>mod_deflate</module> modülü genel bir sıkıştırma hizmeti
+ sağlamakta kullanılabilir veya bir resim dönüştürme süzgeci bir resim
+ dönüşüm hizmeti haline getirilebilir.</p>
+
+ </section>
+
<section id="using"><title>Süzgeçlerin Kullanımı</title>
<p>Süzgeçler iki şekilde kullanılır: Basit ve Devingen.
Genelde ikisinden biri kullanılır; karışık kullanılırsa istenmeyen
<directive module="mod_filter">FilterProvider</directive>.</p>
<p><directive module="core">AddOutputFilterByType</directive> yönergesi
- hala desteklenmekteyse de sorun çıkarabilmesi sebebiyle kullanımı artık
+ hala desteklenmekteyse de kullanımı artık
önerilmemektedir. Onun yerine devingen yapılandırma kullanınız.</p>
</section>