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="<-" alt="<-" src="/images/left.gif" /></a></div> 21<div id="path"> 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.2</a> > <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"> en </a> | 25<a href="/ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 26<a href="/tr/misc/security_tips.html" title="Türkçe"> tr </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><--#include virtual="..." --></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 <Directory /> 239 <span class="indent"> 240 AllowOverride None 241 </span> 242 </Directory> 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 <Directory /> 268 <span class="indent"> 269 Order Deny,Allow <br /> 270 Deny from all 271 </span> 272 </Directory> 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 <Directory /usr/users/*/public_html> 279 <span class="indent"> 280 Order Deny,Allow <br /> 281 Allow from all 282 </span> 283 </Directory> <br /> 284 <Directory /usr/local/httpd> 285 <span class="indent"> 286 Order Deny,Allow <br /> 287 Allow from all 288 </span> 289 </Directory> 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><Directory /></code> erişimi yasaklarken bir <code><Location /></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 <Files ~ "^\.ht"> 332 <span class="indent"> 333 Order allow,deny <br /> 334 Deny from all 335 </span> 336 </Files> 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"> en </a> | 342<a href="/ko/misc/security_tips.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 343<a href="/tr/misc/security_tips.html" title="Türkçe"> tr </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&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>