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
7      -->
8<title>Güvenlik İpuçları - 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">
13</script>
14
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="http://wiki.apache.org/httpd/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.2</p>
19<img alt="" src="/images/feather.gif" /></div>
20<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.2</a> &gt; <a href="./">Çeşitli Belgeler</a></div><div id="page-content"><div id="preamble"><h1>Güvenlik İpuçları</h1>
23<div class="toplang">
24<p><span>Mevcut Diller: </span><a href="/en/misc/security_tips.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25<a href="/ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
26<a href="/tr/misc/security_tips.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
27</div>
28
29    <p>Bir HTTP Sunucusunu ayarlarken dikkat edilmesi gerekenler ve bazı
30    ipuçları.  Öneriler kısmen Apache’ye özel kısmen de genel olacaktır.</p>
31  </div>
32<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#uptodate">Güncel Tutma</a></li>
33<li><img alt="" src="/images/down.gif" /> <a href="#serverroot"><code>ServerRoot</code> Dizinlerinin İzinleri</a></li>
34<li><img alt="" src="/images/down.gif" /> <a href="#ssi">Sunucu Taraflı İçerik Yerleştirme</a></li>
35<li><img alt="" src="/images/down.gif" /> <a href="#cgi">CGI Genelinde</a></li>
36<li><img alt="" src="/images/down.gif" /> <a href="#nsaliasedcgi"><code>ScriptAlias</code>’sız CGI</a></li>
37<li><img alt="" src="/images/down.gif" /> <a href="#saliasedcgi"><code>ScriptAlias</code>’lı CGI</a></li>
38<li><img alt="" src="/images/down.gif" /> <a href="#dynamic">Devingen içerikli kaynaklar</a></li>
39<li><img alt="" src="/images/down.gif" /> <a href="#systemsettings">Sistem Ayarlarının Korunması</a></li>
40<li><img alt="" src="/images/down.gif" /> <a href="#protectserverfiles">Sunucu dosyalarının öntanımlı olarak korunması</a></li>
41<li><img alt="" src="/images/down.gif" /> <a href="#watchyourlogs">Günlüklerin İzlenmesi</a></li>
42</ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
43<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
44<div class="section">
45<h2><a name="uptodate" id="uptodate">Güncel Tutma</a></h2>
46
47    <p>Apache HTTP Sunucusu iyi bir güvenlik sicilinin yanında güvenlik
48      konularıyla oldukça ilgili bir geliştirici topluluğuna sahiptir. Fakat,
49      bir yazılımın dağıtılmasının ardından küçük ya da büyük bazı sorunların
50      keşfedilmesi kaçınılmazdır. Bu sebeple, yazılım güncellemelerinden
51      haberdar olmak oldukça önem kazanır. HTTP sunucunuzu doğrudan
52      Apache’den temin ediyorsanız yeni sürümler ve güvenlik güncellemeleri
53      ile ilgili bilgileri tam zamanında alabilmek için <a href="http://httpd.apache.org/lists.html#http-announce">Apache
54      HTTP Sunucusu Duyuru Listesi</a>ne mutlaka üye olmanızı öneririz.
55      Apache yazılımının üçüncü parti dağıtımlarını yapanların da buna benzer
56      hizmetleri vardır.</p>
57
58    <p>Şüphesiz, bir HTTP sunucusu, sunucu kodunda bir sorun olmasa da
59      tehlike altındadır. Eklenti kodları, CGI betikleri hatta işletim
60      sisteminden kaynaklanan sorunlar nedeniyle bu ortaya çıkabilir. Bu
61      bakımdan, sisteminizdeki tüm yazılımların sorunları ve güncellemeleri
62      hakkında bilgi sahibi olmalısınız.</p>
63
64  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
65<div class="section">
66<h2><a name="serverroot" id="serverroot"><code>ServerRoot</code> Dizinlerinin İzinleri</a></h2>
67    
68
69    <p>Normalde, Apache root kullanıcı tarafından başlatılır ve hizmetleri
70      sunarken <code class="directive"><a href="/mod/mpm_common.html#user">User</a></code> yönergesi
71      tarafından tanımlanan kullanıcının aidiyetinde çalışır. Root tarafından
72      çalıştırılan komutlarda olduğu gibi, root olmayan kullanıcıların
73      yapacakları değişikliklerden korunmak konusunda da dikkatli
74      olmalısınız. Dosyaların sadece root tarafından yazılabilir olmasını
75      sağlamak yeterli değildir, bu dizinler ve üst dizinler için de
76      yapılmalıdır. Örneğin, sunucu kök dizininin
77      <code>/usr/local/apache</code> olmasına karar verdiyseniz, bu dizini
78      root olarak şöyle oluşturmanız önerilir:</p>
79
80    <div class="example"><p><code>
81      mkdir /usr/local/apache <br />
82      cd /usr/local/apache <br />
83      mkdir bin conf logs <br />
84      chown 0 . bin conf logs <br />
85      chgrp 0 . bin conf logs <br />
86      chmod 755 . bin conf logs
87    </code></p></div>
88
89    <p><code>/</code>, <code>/usr</code>, <code>/usr/local</code>
90      dizinlerinde sadece root tarafından değişiklik yapılabileceği kabul
91      edilir. <code class="program"><a href="/programs/httpd.html">httpd</a></code> çalıştırılabilirini kurarken de benzer
92      bir önlemin alındığından emin olmalısınız:</p>
93
94    <div class="example"><p><code>
95      cp httpd /usr/local/apache/bin <br />
96      chown 0 /usr/local/apache/bin/httpd <br />
97      chgrp 0 /usr/local/apache/bin/httpd <br />
98      chmod 511 /usr/local/apache/bin/httpd
99    </code></p></div>
100
101    <p>Diğer kullanıcıların değişiklik yapabileceği bir dizin olarak bir
102      <code>htdocs</code> dizini oluşturabilirsiniz. Bu dizine root
103      tarafından çalıştırılabilecek dosyalar konulmamalı ve burada root
104      tarafından hiçbir dosya oluşturulmamalıdır.</p>
105
106    <p>Diğer kullanıcılara root tarafından yazılabilen ve çalıştırılabilen
107      dosyalarda değişiklik yapma hakkını tanırsanız, onlara root
108      kullanıcısını ele geçirilebilme hakkını da tanımış olursunuz. Örneğin,
109      biri <code class="program"><a href="/programs/httpd.html">httpd</a></code> çalıştırılabilirini zararlı bir programla
110      değiştirebilir ve o programı tekrar çalıştırdığınız sırada program
111      yapacağını yapmış olur. Günlükleri kaydettiğiniz dizin herkes
112      tarafından yazılabilen bir dizin olduğu takdirde, birileri bir günlük
113      dosyasını bir sistem dosyasına sembolik bağ haline getirerek root
114      kullanıcısının bu dosyaya ilgisiz şeyler yazmasına sebep olabilir.
115      Günlüklerin dosyaları herkes tarafından yazılabilir olduğu takdirde ise
116      birileri dosyaya yanıltıcı veriler girebilir.</p>
117  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
118<div class="section">
119<h2><a name="ssi" id="ssi">Sunucu Taraflı İçerik Yerleştirme</a></h2>
120    
121
122    <p>SSI sayfaları bir sunucu yöneticisi açısından çeşitli olası risklere
123      kaynaklık edebilir.</p>
124
125    <p>İlk risk, sunucu yükündeki artış olasılığıdır. Tüm SSI sayfaları,  SSI
126      kodu içersin içermesin Apache tarafından çözümlenir. Bu küçük bir artış
127      gibi görünürse de bir paylaşımlı sunucu ortamında önemli bir yük haline
128      gelebilir.</p>
129
130    <p>SSI sayfaları, CGI betikleriyle ilgili riskleri de taşır. <code>exec
131      cmd</code> elemanı kullanılarak bir SSI sayfasından herhangi bir CGI
132      betiğini veya bir sistem programını Apache’nin aidiyetinde olduğu
133      kullanıcının yetkisiyle çalıştırmak mümkündür.</p>
134
135    <p>SSI sayfalarının yararlı özelliklerinden yararlanırken güvenliğini de
136      arttırmanın bazı yolları vardır.</p>
137
138    <p>Sunucu yöneticisi, bir başıbozuk SSI sayfasının sebep olabileceği
139      zararları bertaraf etmek için <a href="#cgi">CGI Genelinde</a>
140      bölümünde açıklandığı gibi <a href="/suexec.html">suexec</a>’i etkin
141      kılabilir.</p>
142
143    <p>SSI sayfalarını <code>.html</code> veya <code>.htm</code>
144      uzantılarıyla etkinleştirmek tehlikeli olabilir. Bu özellikle
145      paylaşımlı ve yüksek trafikli bir sunucu ortamında önemlidir. SSI
146      sayfalarını normal sayfalardan farklı olarak <code>.shtml</code> gibi
147      bildik bir uzantıyla etkinleştirmek gerekir. Bu, sunucu yükünü asgari
148      düzeyde tutmaya ve risk yönetimini kolaylaştırmaya yarar.</p>
149
150    <p>Diğer bir çözüm de SSI sayfalarından betik ve program çalıştırmayı
151      iptal etmektir. Bu, <code class="directive"><a href="/mod/core.html#options">Options</a></code>
152      yönergesine değer olarak <code>Includes</code> yerine
153      <code>IncludesNOEXEC</code> vererek sağlanır. Ancak, eğer betiklerin
154      bulunduğu dizinde <code class="directive"><a href="/mod/mod_alias.html#scriptalias">ScriptAlias</a></code>
155      yönergesiyle CGI betiklerinin çalışması mümkün kılınmışsa,
156      kullanıcıların <code>&lt;--#include virtual="..." --&gt;</code> ile bu
157      betikleri  çalıştırabileceklerine dikkat ediniz.</p>
158
159  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
160<div class="section">
161<h2><a name="cgi" id="cgi">CGI Genelinde</a></h2>
162    
163
164    <p>Herşeyden önce ya CGI betiğini/programını yazanlara ya da kendinizin
165      CGI'deki güvenlik açıklarını (ister kasıtlı olsun ister tesadüfi)
166      yakalama becerinize güvenmek zorundasınız. CGI betikleri esasen
167      sisteminizdeki komutları site kullanıcılarının izinleriyle
168      çalıştırırlar. Bu bakımdan dikkatle denenmedikleri takdirde oldukça
169      tehlikeli olabilirler.</p>
170
171    <p>CGI betiklerinin hepsi aynı kullanıcının aidiyetinde çalışırsa diğer
172      betiklerle aralarında çelişkilerin ortaya çıkması ister istemez
173      kaçınılmazdır. Örneğin A kullanıcısının B kullanıcısına garezi varsa
174      bir betik yazıp B’nin CGI veritabanını silebilir. Bu gibi durumların
175      ortaya çıkmaması için betiklerin farklı kullanıcıların aidiyetlerinde
176      çalışmasını sağlayan ve 1.2 sürümünden beri Apache ile dağıtılan <a href="/suexec.html">suEXEC</a> diye bir program vardır. Başka bir yol
177      da <a href="http://cgiwrap.sourceforge.net/">CGIWrap</a> kullanmaktır.</p>
178
179  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
180<div class="section">
181<h2><a name="nsaliasedcgi" id="nsaliasedcgi"><code>ScriptAlias</code>’sız CGI</a></h2>
182    
183
184    <p>Kullanıcıların sitenin her yerinde CGI betiklerini çalıştırmalarına
185      izin vermek ancak şu koşullarda mümkün olabilir:</p>
186
187    <ul>
188      <li>Kullanıcılarınızın kasıtlı ya da kasıtsız sistemi saldırıya açık
189        hale getirecek betikler yazmayacaklarına tam güveniniz vardır.</li>
190      <li>Sitenizin güvenliği zaten o kadar kötüdür ki, bir delik daha
191        açılmasının mahzuru yoktur.</li>
192      <li>Sitenizin sizden başka kullanıcısı yoktur ve sunucunuzu sizden
193        başka hiç kimsenin ziyaret etmesi mümkün değildir.</li>
194    </ul>
195
196  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
197<div class="section">
198<h2><a name="saliasedcgi" id="saliasedcgi"><code>ScriptAlias</code>’lı CGI</a></h2>
199    
200
201    <p>CGI’yi belli dizinlerle sınırlamak yöneticiye bu dizinlerde daha iyi
202      denetim imkanı sağlar. Bu kaçınılmaz olarak <code class="directive"><a href="/mod/mod_alias.html#scriptalias">ScriptAlias</a></code>’sız CGI’den çok daha
203      güvenlidir, ancak bu dizinlere yazma hakkı olan kullanıcılarınız
204      güvenilir kişiler olması ve site yöneticisinin de olası güvenlik
205      açıklarına karşı CGI betiklerini ve programlarını denemeye istekli
206      olması şartıyla.</p>
207
208    <p>Çoğu site yöneticisi <code>ScriptAlias</code>’sız CGI yerine bu
209      yaklaşımı seçer.</p>
210
211  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
212<div class="section">
213<h2><a name="dynamic" id="dynamic">Devingen içerikli kaynaklar</a></h2>
214    
215
216    <p>Sunucunun bir parçası gibi çalışan, <code>mod_php</code>,
217      <code>mod_perl</code>, <code>mod_tcl</code> ve <code>mod_python</code>
218      gibi gömülü betik çalıştırma seçenekleri sunucuyu çalıştıran
219      kullanıcının aidiyetinde çalışırlar (<code class="directive"><a href="/mod/mpm_common.html#user">User</a></code> yönergesine bakınız). Bu bakımdan bu betik
220      yorumlayıcılar tarafından çalıştırılan betikler, sunucu kullanıcısının
221      eriştiği herşeye erişebilirler. Bazı betik yorumlayıcıların getirdiği
222      bazı sınırlamalar varsa da bunlara pek güvenmemek, gerekli sınamaları
223      yine de yapmak gerekir.</p>
224
225  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
226<div class="section">
227<h2><a name="systemsettings" id="systemsettings">Sistem Ayarlarının Korunması</a></h2>
228    
229
230    <p>Güvenliği gerçekten sıkı tutmak istiyorsanız, kullanıcılarınızın
231      yapılandırmanızdaki güvenlik ayarlarını geçersiz kılmak için
232      <code>.htaccess</code> dosyalarını kullanabilmelerinin de önüne
233      geçmelisiniz. Bunu yapmanın tek bir yolu vardır.</p>
234
235    <p>Sunucu yapılandırma dosyanıza şunu yerleştirin:</p>
236
237    <div class="example"><p><code>
238      &lt;Directory /&gt;
239      <span class="indent">
240        AllowOverride None
241      </span>
242      &lt;/Directory&gt;
243    </code></p></div>
244
245    <p>Böylece, belli dizinlerde özellikle etkinleştirilmedikçe bütün
246      dizinlerde <code>.htaccess</code> dosyalarının kullanımını engellemiş
247      olursunuz.</p>
248
249  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
250<div class="section">
251<h2><a name="protectserverfiles" id="protectserverfiles">Sunucu dosyalarının öntanımlı olarak korunması</a></h2>
252    
253
254    <p>Apache’nin ister istemez yanlış anlaşılan yönlerinden biri öntanımlı erişim özelliğidir. Yani siz aksine bir şeyler yapmadıkça, sunucu normal URL eşleme kurallarını kullanarak bir dosyayı bulabildiği sürece onu istemciye sunacaktır.</p>
255
256    <p>Örneğin, aşağıdaki durumu ele alalım:</p>
257
258    <div class="example"><p><code>
259      # cd /; ln -s / public_html
260    </code></p></div>
261
262    <p>Ve, tarayıcınıza <code>http://localhost/~root/</code> yazın.</p>
263
264    <p>Böylece, istemcilerin tüm dosya sisteminizi gezmelerine izin vermiş olursunuz. Bu işlemin sonuçlarının önünü almak için sunucu yapılandırma dosyanıza şunları yazın:</p>
265
266    <div class="example"><p><code>
267      &lt;Directory /&gt;
268      <span class="indent">
269        Order Deny,Allow <br />
270        Deny from all
271      </span>
272      &lt;/Directory&gt;
273    </code></p></div>
274
275    <p>Bu suretle, dosya sisteminize öntanımlı erişimi yasaklamış olursunuz. Erişime izin vermek istediğiniz dizinler için uygun <code class="directive"><a href="/mod/core.html#directory">Directory</a></code> bölümleri eklemeniz yeterli olacaktır. Örnek:</p>
276
277    <div class="example"><p><code>
278      &lt;Directory /usr/users/*/public_html&gt;
279      <span class="indent">
280        Order Deny,Allow <br />
281        Allow from all
282      </span>
283      &lt;/Directory&gt; <br />
284      &lt;Directory /usr/local/httpd&gt;
285      <span class="indent">
286        Order Deny,Allow <br />
287        Allow from all
288      </span>
289      &lt;/Directory&gt;
290    </code></p></div>
291
292    <p><code class="directive"><a href="/mod/core.html#location">Location</a></code> ve <code class="directive"><a href="/mod/core.html#directory">Directory</a></code> yönergelerinin etkileşimine de özellikle önem vermelisiniz; örneğin <code>&lt;Directory /&gt;</code> erişimi yasaklarken bir <code>&lt;Location /&gt;</code> yönergesi bunu ortadan kaldırabilir.</p>
293
294    <p><code class="directive"><a href="/mod/mod_userdir.html#userdir">UserDir</a></code> yönergesi de size buna benzer bir oyun oynayabilir; yönergeye <code>./</code> atamasını yaparsanız, root kullanıcısı söz konusu olduğunda yukarıda ilk örnekteki durumla karşılaşırız. Apache 1.3 veya üstünü kullanıyorsanız, sunucu yapılandırma dosyanızda aşağıdaki satırın mutlaka bulunmasını öneririz:</p>
295
296    <div class="example"><p><code>
297      UserDir disabled root
298    </code></p></div>
299
300  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
301<div class="section">
302<h2><a name="watchyourlogs" id="watchyourlogs">Günlüklerin İzlenmesi</a></h2>
303    
304
305    <p>Sunucunuzda olup biteni günü gününe bilmek istiyorsanız <a href="/logs.html">günlük dosyalarına</a> bakmalısınız. Günlük dosyaları sadece olup biteni raporlamakla kalmaz, sunucunuza ne tür saldırılar yapıldığını ve güvenlik seviyenizin yeterli olup olmadığını anlamanızı da sağlarlar.</p>
306
307    <p>Bazı örnekler:</p>
308
309    <div class="example"><p><code>
310      grep -c "/jsp/source.jsp?/jsp/ /jsp/source.jsp??" access_log <br />
311      grep "client denied" error_log | tail -n 10
312    </code></p></div>
313
314    <p>İlk örnek, <a href="http://online.securityfocus.com/bid/4876/info/">Apache Tomcat
315    Source.JSP Bozuk İstek Bilgilerini İfşa Açığı</a>nı istismar etmeyi deneyen saldırıların sayısını verirken ikinci örnek, reddedilen son on istemciyi listeler; örnek:</p>
316
317    <div class="example"><p><code>
318      [Thu Jul 11 17:18:39 2002] [error] [client falan.filan.dom] client denied
319      by server configuration: /usr/local/apache/htdocs/.htpasswd
320    </code></p></div>
321
322    <p>Gördüğünüz gibi günlük dosyaları sadece ne olup bittiğini raporlar, bu bakımdan eğer istemci <code>.htpasswd</code> dosyasına erişebiliyorsa <a href="/logs.html#accesslog">erişim günlüğünüzde</a> şuna benzer bir kayıt görürsünüz:</p>
323
324    <div class="example"><p><code>
325      falan.filan.dom - - [12/Jul/2002:01:59:13 +0200] "GET /.htpasswd HTTP/1.1"
326    </code></p></div>
327
328    <p>Bu, sunucu yapılandırma dosyanızda aşağıdaki yapılandırmayı iptal ettiğiniz anlamına gelir:</p>
329
330    <div class="example"><p><code>
331      &lt;Files ~ "^\.ht"&gt;
332      <span class="indent">
333        Order allow,deny <br />
334        Deny from all
335      </span>
336      &lt;/Files&gt;
337    </code></p></div>
338
339  </div></div>
340<div class="bottomlang">
341<p><span>Mevcut Diller: </span><a href="/en/misc/security_tips.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
342<a href="/ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
343<a href="/tr/misc/security_tips.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
344</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorum</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
345<script type="text/javascript"><!--//--><![CDATA[//><!--
346var comments_shortname = 'httpd';
347var comments_identifier = 'http://httpd.apache.org/docs/2.2/misc/security_tips.html';
348(function(w, d) {
349    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
350        d.write('<div id="comments_thread"><\/div>');
351        var s = d.createElement('script');
352        s.type = 'text/javascript';
353        s.async = true;
354        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
355        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
356    }
357    else { 
358        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
359    }
360})(window, document);
361//--><!]]></script></div><div id="footer">
362<p class="apache">Copyright 2013 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>
363<p class="menu"><a href="/mod/">Modüller</a> | <a href="/mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="/glossary.html">Terimler</a> | <a href="/sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
364if (typeof(prettyPrint) !== 'undefined') {
365    prettyPrint();
366}
367//--><!]]></script>
368</body></html>