<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Güvenlik &#8211; Saviorhost İnternet Hizmetleri</title>
	<atom:link href="https://saviorhost.com/blog/category/guvenlik/feed/" rel="self" type="application/rss+xml" />
	<link>https://saviorhost.com/blog</link>
	<description>Web projenizi kurtaran hosting sağlayıcısı: Savior Host!</description>
	<lastBuildDate>Sat, 18 Apr 2026 07:03:14 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://saviorhost.com/blog/wp-content/uploads/2018/07/cropped-favicon-150x150.png</url>
	<title>Güvenlik &#8211; Saviorhost İnternet Hizmetleri</title>
	<link>https://saviorhost.com/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Kısıtlı (Jailed) SSH Ortamında Node.js ve PM2 Kurulumu: Kesin Çözüm Rehberi</title>
		<link>https://saviorhost.com/blog/kisitli-jailed-ssh-ortaminda-node-js-ve-pm2-kurulumu-kesin-cozum-rehberi/</link>
					<comments>https://saviorhost.com/blog/kisitli-jailed-ssh-ortaminda-node-js-ve-pm2-kurulumu-kesin-cozum-rehberi/#respond</comments>
		
		<dc:creator><![CDATA[admincim]]></dc:creator>
		<pubDate>Sat, 18 Apr 2026 07:02:31 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Keyhelp]]></category>
		<category><![CDATA[node..js]]></category>
		<guid isPermaLink="false">https://saviorhost.com/blog/?p=2202</guid>

					<description><![CDATA[Paylaşımlı hosting sunucularında veya KeyHelp, cPanel, Plesk gibi kontrol panellerinde kısıtlı (Jailed) SSH erişimi ile Node.js uygulaması barındırmak genellikle kabusa...]]></description>
										<content:encoded><![CDATA[<p data-path-to-node="4">Paylaşımlı hosting sunucularında veya KeyHelp, cPanel, Plesk gibi kontrol panellerinde kısıtlı (Jailed) SSH erişimi ile Node.js uygulaması barındırmak genellikle kabusa dönüşebilir. Sunucu yöneticileri güvenlik amacıyla &#8220;Root&#8221; yetkilerini kapattığında, standart <code data-path-to-node="4" data-index-in-node="262">npm install</code>, derleme (build) işlemleri ve <code data-path-to-node="4" data-index-in-node="304">pm2</code> komutları ardı ardına <b data-path-to-node="4" data-index-in-node="330">EACCES (Yetki Reddedildi)</b> veya <b data-path-to-node="4" data-index-in-node="361">ERR_DLOPEN_FAILED</b> hataları vermeye başlar.</p>
<p data-path-to-node="5">Bu kapsamlı rehberde; Keyhel Panel&#8217;de Jailed SSH ortamında güvenlikten ödün vermeden, gerekli izinleri ayarlamayı, <b data-path-to-node="5" data-index-in-node="99">NVM (Node Version Manager)</b> kullanarak Node.js kurmayı ve uygulamalarınızı <b data-path-to-node="5" data-index-in-node="173">PM2</b> ile 7/24 kesintisiz nasıl çalıştıracağınızı adım adım anlatıyoruz.</p>
<hr data-path-to-node="6" />
<h2 data-path-to-node="7" id="1-adim-on-hazirlik-ek-ikili-dosyalar-ve-kutuphane-izinleri">1. Adım: Ön Hazırlık – &#8220;Ek İkili Dosyalar&#8221; ve Kütüphane İzinleri</h2>
<p data-path-to-node="8">Jailed SSH (Hapishane) ortamı, kullanıcıyı sadece belli başlı komutlarla sınırlandırır. NPM&#8217;in paketleri indirebilmesi, zipli dosyaları açabilmesi ve özellikle <b data-path-to-node="8" data-index-in-node="160">Vite/Rollup</b> gibi modern araçların Linux çekirdek kütüphanelerine ulaşıp derleme (build) yapabilmesi için sunucu panelinizden bazı komutlara izin vermeniz gerekir.</p>
<p data-path-to-node="9">Hosting panelinizden (Örn: KeyHelp&#8217;te <code data-path-to-node="9" data-index-in-node="38">Yapılandırma &gt; Sınırlandırılmış SSH &gt; Ek İkili Dosyalar</code> bölümüne) aşağıdaki listeyi eksiksiz olarak ekleyin ve kaydedin:</p>
<div class="code-block ng-tns-c515271043-343 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiE5PCo5PaTAxUAAAAAHQAAAAAQjgI">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c515271043-343 ng-star-inserted">
<p><span class="ng-tns-c515271043-343">Plaintext</span></p>
<div class="buttons ng-tns-c515271043-343 ng-star-inserted"></div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c515271043-343">
<div class="animated-opacity ng-tns-c515271043-343">
<pre class="ng-tns-c515271043-343"><code class="code-container formatted ng-tns-c515271043-343" role="text" data-test-id="code-content">/usr/bin/node
/usr/bin/npm
/usr/local/bin/pm2
/usr/bin/sed
/usr/bin/awk
/usr/bin/tr
/usr/bin/uname
/usr/bin/tar
/usr/bin/gzip
/usr/bin/xz
/usr/bin/sort
/usr/bin/grep
/usr/bin/tail
/usr/bin/head
/usr/bin/cut
/usr/bin/wc
/usr/bin/dirname
/usr/bin/find
/usr/bin/tee
/usr/bin/sha256sum
/usr/bin/rm
/usr/bin/cp
/usr/bin/mv
/lib/x86_64-linux-gnu/librt.so.1
/usr/lib/x86_64-linux-gnu/librt.so.1
/lib64/librt.so.1
</code></pre>
</div>
</div>
</div>
<p data-path-to-node="11"><i data-path-to-node="11" data-index-in-node="0">Not: Listenin sonundaki <code data-path-to-node="11" data-index-in-node="24">librt.so.1</code> yolları, Vite ve Rollup kullanan projelerde derleme sırasında alınan <code data-path-to-node="11" data-index-in-node="104">Error: librt.so.1: cannot open shared object file</code> (ERR_DLOPEN_FAILED) hatasının kesin çözümüdür.</i></p>
<hr data-path-to-node="12" />
<h2 data-path-to-node="13" id="2-neden-jailed-sshta-standart-node-js-kurulumu-coker">2. Neden Jailed SSH&#8217;ta Standart Node.js Kurulumu Çöker?</h2>
<p data-path-to-node="14">İzinleri verdikten sonra bile, sistem sizi genellikle <code data-path-to-node="14" data-index-in-node="54">/www</code> veya <code data-path-to-node="14" data-index-in-node="64">/home/kullaniciadi</code> gibi bir dizine hapseder. Ancak Node.js ve NPM, kurulum ve önbellek (cache) işlemleri için ana sunucu dizinlerine (<code data-path-to-node="14" data-index-in-node="198">/.npm</code>) erişmeye çalışır.</p>
<p data-path-to-node="15">Bu durum karşılaştığımız en meşhur hatayı doğurur: <code data-path-to-node="15" data-index-in-node="51">Error: EACCES: permission denied, mkdir '/.npm'</code></p>
<p data-path-to-node="16"><b data-path-to-node="16" data-index-in-node="0">Çözüm:</b> Uygulamaları &#8220;Root&#8221; düzeyinde değil, tamamen kullanıcının kendi izole alanında (Kapsayıcı mantığıyla) kurmaktır.</p>
<hr data-path-to-node="17" />
<h2 data-path-to-node="18" id="3-adim-adim-nvm-ile-ozel-node-js-motoru-kurmak">3. Adım Adım NVM ile Özel Node.js Motoru Kurmak</h2>
<p data-path-to-node="19">Her müşteriye veya projeye kendi bağımsız Node.js motorunu atamak için NVM kullanıyoruz. Bu sayede aynı sunucuda bir proje Node 18 ile çalışırken diğeri Node 20 ile çakışmadan çalışabilir.</p>
<p data-path-to-node="20">Terminalinize giriş yapın ve ortamı uyandırmak için şu komutları sırasıyla girin (NVM kurulu değilse standart cURL komutuyla kurabilirsiniz):</p>
<div class="code-block ng-tns-c515271043-344 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiE5PCo5PaTAxUAAAAAHQAAAAAQjwI">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c515271043-344 ng-star-inserted">
<p><span class="ng-tns-c515271043-344">Bash</span></p>
<div class="buttons ng-tns-c515271043-344 ng-star-inserted"></div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c515271043-344">
<div class="animated-opacity ng-tns-c515271043-344">
<pre class="ng-tns-c515271043-344"><code class="code-container formatted ng-tns-c515271043-344" role="text" data-test-id="code-content"><span class="hljs-comment"># NVM'in yolunu belirleyin</span>
<span class="hljs-built_in">export</span> NVM_DIR=<span class="hljs-string">"/www/.nvm"</span>

<span class="hljs-comment"># NVM'i aktif edin</span>
[ -s <span class="hljs-string">"<span class="hljs-variable">$NVM_DIR</span>/nvm.sh"</span> ] &amp;&amp; \. <span class="hljs-string">"<span class="hljs-variable">$NVM_DIR</span>/nvm.sh"</span>

<span class="hljs-comment"># İstediğiniz Node sürümünü kurun ve kullanın (Örn: v20)</span>
nvm install 20
nvm use 20
</code></pre>
</div>
</div>
</div>
<hr data-path-to-node="22" />
<h2 data-path-to-node="23" id="4-npm-eacces-yetki-hatalarini-tamamen-asmak">4. NPM EACCES (Yetki) Hatalarını Tamamen Aşmak</h2>
<p data-path-to-node="24">NPM&#8217;in sunucu kök dizinlerine dosya yazmaya çalışmasını engellemek için ona &#8220;Ev&#8221; dizininin neresi olduğunu söylemeliyiz. Aşağıdaki komut, NPM&#8217;in tüm önbellek dosyalarını kısıtlı alanımız olan <code data-path-to-node="24" data-index-in-node="192">/www</code> içerisine yazmasını sağlar:</p>
<div class="code-block ng-tns-c515271043-345 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiE5PCo5PaTAxUAAAAAHQAAAAAQkAI">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c515271043-345 ng-star-inserted">
<p><span class="ng-tns-c515271043-345">Bash</span></p>
<div class="buttons ng-tns-c515271043-345 ng-star-inserted"></div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c515271043-345">
<div class="animated-opacity ng-tns-c515271043-345">
<pre class="ng-tns-c515271043-345"><code class="code-container formatted ng-tns-c515271043-345" role="text" data-test-id="code-content"><span class="hljs-built_in">export</span> HOME=<span class="hljs-string">"/www"</span>
</code></pre>
</div>
</div>
</div>
<h3 data-path-to-node="26" id="surum-cakismalarini-eresolve-gidermek">Sürüm Çakışmalarını (ERESOLVE) Gidermek</h3>
<p data-path-to-node="27">Projelerinizde paket sürümleri uyuşmazlığı (<code data-path-to-node="27" data-index-in-node="44">npm error ERESOLVE</code>) yaşıyorsanız, NPM&#8217;e eski tip bağımlılık çözümlemeyi kullanmasını söyleyerek kurulumu zorlayabilirsiniz:</p>
<div class="code-block ng-tns-c515271043-346 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiE5PCo5PaTAxUAAAAAHQAAAAAQkQI">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c515271043-346 ng-star-inserted">
<p><span class="ng-tns-c515271043-346">Bash</span></p>
<div class="buttons ng-tns-c515271043-346 ng-star-inserted"></div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c515271043-346">
<div class="animated-opacity ng-tns-c515271043-346">
<pre class="ng-tns-c515271043-346"><code class="code-container formatted ng-tns-c515271043-346" role="text" data-test-id="code-content">npm install --legacy-peer-deps
</code></pre>
</div>
</div>
</div>
<hr data-path-to-node="29" />
<h2 data-path-to-node="30" id="5-jailed-ortamda-pm2-kurulumu-ve-module_conf-json-hatasi-cozumu">5. Jailed Ortamda PM2 Kurulumu ve &#8220;module_conf.json&#8221; Hatası Çözümü</h2>
<p data-path-to-node="31">Uygulamanızı arka planda sürekli çalıştıracak olan PM2&#8217;yi kurmak, yetki sorunlarının en çok yaşandığı yerdir. PM2 logları ve PID dosyalarını ana dizindeki <code data-path-to-node="31" data-index-in-node="155">/.pm2</code> içine yazmaya çalışır. Bunu önlemek için PM2&#8217;nin çalışma alanını yeniden yönlendiriyoruz:</p>
<div class="code-block ng-tns-c515271043-347 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiE5PCo5PaTAxUAAAAAHQAAAAAQkgI">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c515271043-347 ng-star-inserted">
<p><span class="ng-tns-c515271043-347">Bash</span></p>
<div class="buttons ng-tns-c515271043-347 ng-star-inserted"></div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c515271043-347">
<div class="animated-opacity ng-tns-c515271043-347">
<pre class="ng-tns-c515271043-347"><code class="code-container formatted ng-tns-c515271043-347" role="text" data-test-id="code-content"><span class="hljs-comment"># PM2'ye yeni bir ev gösteriyoruz</span>
<span class="hljs-built_in">export</span> PM2_HOME=<span class="hljs-string">"/www/.pm2"</span>

<span class="hljs-comment"># PM2'yi global olarak kuruyoruz</span>
npm install -g pm2
</code></pre>
</div>
</div>
</div>
<p data-path-to-node="33">Kurulumun başarılı olup olmadığını test etmek için:</p>
<div class="code-block ng-tns-c515271043-348 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiE5PCo5PaTAxUAAAAAHQAAAAAQkwI">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c515271043-348 ng-star-inserted">
<p><span class="ng-tns-c515271043-348">Bash</span></p>
<div class="buttons ng-tns-c515271043-348 ng-star-inserted"></div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c515271043-348">
<div class="animated-opacity ng-tns-c515271043-348">
<pre class="ng-tns-c515271043-348"><code class="code-container formatted ng-tns-c515271043-348" role="text" data-test-id="code-content">pm2 status
</code></pre>
</div>
</div>
</div>
<p data-path-to-node="35"><i data-path-to-node="35" data-index-in-node="0">Bu komut size boş da olsa o meşhur PM2 tablosunu vermelidir.</i></p>
<hr data-path-to-node="36" />
<h2 data-path-to-node="37" id="6-uygulamayi-baslatmak-ve-pm2yi-kalici-hale-getirmek">6. Uygulamayı Başlatmak ve PM2&#8217;yi Kalıcı Hale Getirmek</h2>
<p data-path-to-node="38">Tüm altyapımız hazır. Şimdi Node.js veya derlenmiş (build edilmiş) projemizi canlıya alalım.</p>
<p data-path-to-node="39"><b data-path-to-node="39" data-index-in-node="0">1. Uygulamanızın klasörüne girin:</b></p>
<div class="code-block ng-tns-c515271043-349 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiE5PCo5PaTAxUAAAAAHQAAAAAQlAI">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c515271043-349 ng-star-inserted">
<p><span class="ng-tns-c515271043-349">Bash</span></p>
<div class="buttons ng-tns-c515271043-349 ng-star-inserted"></div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c515271043-349">
<div class="animated-opacity ng-tns-c515271043-349">
<pre class="ng-tns-c515271043-349"><code class="code-container formatted ng-tns-c515271043-349" role="text" data-test-id="code-content"><span class="hljs-built_in">cd</span> /www/
</code></pre>
</div>
</div>
</div>
<p data-path-to-node="41"><b data-path-to-node="41" data-index-in-node="0">2. PM2 ile uygulamayı başlatın:</b> Birden fazla uygulama barındırıyorsanız <code data-path-to-node="41" data-index-in-node="72">--name</code> parametresi ile isimleri birbirinden ayırmayı unutmayın.</p>
<div class="code-block ng-tns-c515271043-350 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiE5PCo5PaTAxUAAAAAHQAAAAAQlQI">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c515271043-350 ng-star-inserted">
<p><span class="ng-tns-c515271043-350">Bash</span></p>
<div class="buttons ng-tns-c515271043-350 ng-star-inserted"></div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c515271043-350">
<div class="animated-opacity ng-tns-c515271043-350">
<pre class="ng-tns-c515271043-350"><code class="code-container formatted ng-tns-c515271043-350" role="text" data-test-id="code-content">pm2 start index.js --name <span class="hljs-string">"proje-adi"</span> --cwd /www/
</code></pre>
</div>
</div>
</div>
<p data-path-to-node="43"><b data-path-to-node="43" data-index-in-node="0">3. İşlemi Kaydedin:</b> Sunucu herhangi bir sebeple yeniden başlatıldığında uygulamanızın otomatik olarak tekrar açılması için listeyi kaydedin:</p>
<div class="code-block ng-tns-c515271043-351 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiE5PCo5PaTAxUAAAAAHQAAAAAQlgI">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c515271043-351 ng-star-inserted">
<p><span class="ng-tns-c515271043-351">Bash</span></p>
<div class="buttons ng-tns-c515271043-351 ng-star-inserted"></div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c515271043-351">
<div class="animated-opacity ng-tns-c515271043-351">
<pre class="ng-tns-c515271043-351"><code class="code-container formatted ng-tns-c515271043-351" role="text" data-test-id="code-content">pm2 save
</code></pre>
</div>
</div>
</div>
<hr data-path-to-node="45" />
<h2 data-path-to-node="46" id="bonus-ssh-her-acildiginda-ayarlari-korumak-bashrc-otomasyonu">Bonus: SSH Her Açıldığında Ayarları Korumak (.bashrc Otomasyonu)</h2>
<p data-path-to-node="47">Jailed SSH ortamları çok &#8220;unutkandır&#8221;. Terminali kapatıp açtığınızda <code data-path-to-node="47" data-index-in-node="69">pm2 status</code> veya <code data-path-to-node="47" data-index-in-node="85">npm</code> komutları tekrar hata verebilir. Çünkü girdiğimiz <code data-path-to-node="47" data-index-in-node="139">export</code> komutları hafızadan silinir.</p>
<p data-path-to-node="48">Her girişinizde tek bir kelimeyle ortamı hazırlamak için kendinize bir kısayol (alias) oluşturun:</p>
<div class="code-block ng-tns-c515271043-352 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiE5PCo5PaTAxUAAAAAHQAAAAAQlwI">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c515271043-352 ng-star-inserted">
<p><span class="ng-tns-c515271043-352">Bash</span></p>
<div class="buttons ng-tns-c515271043-352 ng-star-inserted"></div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c515271043-352">
<div class="animated-opacity ng-tns-c515271043-352">
<pre class="ng-tns-c515271043-352"><code class="code-container formatted ng-tns-c515271043-352" role="text" data-test-id="code-content"><span class="hljs-built_in">echo</span> <span class="hljs-string">'alias start="export HOME=/www &amp;&amp; export PM2_HOME=/www/.pm2 &amp;&amp; export NVM_DIR=/www/.nvm &amp;&amp; [ -s \"\$NVM_DIR/nvm.sh\" ] &amp;&amp; . \"\$NVM_DIR/nvm.sh\" &amp;&amp; nvm use 20"'</span> &gt;&gt; /www/.bashrc
<span class="hljs-built_in">source</span> /www/.bashrc
</code></pre>
</div>
</div>
</div>
<p data-path-to-node="50">Artık SSH&#8217;a her bağlandığınızda sadece <b data-path-to-node="50" data-index-in-node="39"><code data-path-to-node="50" data-index-in-node="39">start</code></b> yazıp Enter&#8217;a basmanız yeterlidir. Tüm NVM ve PM2 yollarınız saniyeler içinde arka planda hazır hale gelecektir.</p>
<hr data-path-to-node="51" />
<h3 data-path-to-node="52" id="ozet">Özet</h3>
<p data-path-to-node="53">Kısıtlı SSH izinleri, modern web uygulamaları geliştirmek için bir engel değildir. Doğru yapılandırılmış NVM ortamları, çekirdek <code data-path-to-node="53" data-index-in-node="129">librt</code> izinleri ve <code data-path-to-node="53" data-index-in-node="147">export</code> yönlendirmeleri ile ana sunucuya hiçbir zarar vermeden (Root yetkisi kullanmadan) tamamen izole, güvenli ve yüksek performanslı Node.js barındırma altyapıları kurabilirsiniz. Başarılar dileriz!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://saviorhost.com/blog/kisitli-jailed-ssh-ortaminda-node-js-ve-pm2-kurulumu-kesin-cozum-rehberi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Web Sitelerinde Spam Trafiğini Engelleme (2025 Rehberi)</title>
		<link>https://saviorhost.com/blog/web-sitelerinde-spam-trafigini-engelleme-2025-rehberi/</link>
					<comments>https://saviorhost.com/blog/web-sitelerinde-spam-trafigini-engelleme-2025-rehberi/#respond</comments>
		
		<dc:creator><![CDATA[admincim]]></dc:creator>
		<pubDate>Wed, 22 Oct 2025 13:31:44 +0000</pubDate>
				<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Nginx]]></category>
		<guid isPermaLink="false">https://saviorhost.com/blog/?p=2156</guid>

					<description><![CDATA[Spam ve bot trafiğini WAF/CRS, Nginx rate limiting, Turnstile/reCAPTCHA, honeypot ve GA4 ölçüm temizliğiyle azaltın. Uygulanabilir kural setleri ve kontrol listesi içerir.]]></description>
										<content:encoded><![CDATA[<h2 data-start="364" data-end="413" id="neden-bot-%e2%89%a0-tek-tip-tehdit-modelini-oturt">Neden “bot” ≠ tek tip? (Tehdit modelini oturt)</h2>
<p data-start="414" data-end="845">Spam trafiği; <strong data-start="428" data-end="516">credential stuffing, carding, scraping, brute force, form spam, API kötüye kullanımı</strong> gibi farklı otomasyon davranışlarından oluşur. OWASP’ın <strong data-start="573" data-end="620">Automated Threats to Web Applications (OAT)</strong> sınıflandırması, hangi uç noktalar için hangi saldırıların tipik olduğuna dair ortak bir dil sağlar; savunmayı tek bir CAPTCHA’ya indirgemek yerine tehdit odaklı düşünmeyi kolaylaştırır. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://owasp.org/www-project-automated-threats-to-web-applications/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">owasp.org</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
<h2 data-start="847" data-end="888" id="ana-savunma-katmanlari-ozet-strateji">Ana savunma katmanları (özet strateji)</h2>
<ol data-start="889" data-end="2691">
<li data-start="889" data-end="1130">
<p data-start="892" data-end="1130"><strong data-start="892" data-end="916">WAF + kural setleri:</strong> ModSecurity ile <strong data-start="933" data-end="962">OWASP Core Rule Set (CRS)</strong> başlangıç bariyeri sağlar; SQLi/XSS gibi klasik istismarlara ek olarak brute force ve hız sınırlamaya yardımcı kurallar içerir. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://owasp.org/www-project-modsecurity-core-rule-set/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">owasp.org</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
<li data-start="1131" data-end="1382">
<p data-start="1134" data-end="1382"><strong data-start="1134" data-end="1184">Oran sınırlama (rate limit) / bağlantı kotası:</strong> Nginx’in <code data-start="1194" data-end="1205">limit_req</code> ve <code data-start="1209" data-end="1221">limit_conn</code> modülleri IP ya da özel anahtarlar (örn. IP+username) üzerinden istek hızını düşürür; leaky-bucket algoritması kullanır. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://nginx.org/en/docs/http/ngx_http_limit_req_module.html?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">nginx.org</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
<li data-start="1383" data-end="1679">
<p data-start="1386" data-end="1679"><strong data-start="1386" data-end="1412">Risk skorlu doğrulama:</strong> <strong data-start="1413" data-end="1437">Cloudflare Turnstile</strong> gibi “sessiz” tarayıcı sinyali tabanlı çözümler; düşük güven hâlinde hafif challenge göstererek sürtünmeyi azaltır. Google <strong data-start="1561" data-end="1587">reCAPTCHA (Enterprise)</strong>, OAT kategorilerine göre akış bazlı öneriler sunar. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developers.cloudflare.com/turnstile/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Cloudflare Docs</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+2</span></span><span class="flex h-4 w-full items-center justify-between absolute"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Cloudflare Docs</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+2</span></span></span></a></span></span></p>
</li>
<li data-start="1680" data-end="1960">
<p data-start="1683" data-end="1960"><strong data-start="1683" data-end="1713">Honeypot/decoy taktikleri:</strong> Görünmeyen form alanları, sahte endpoint’ler ve (Cloudflare tarafında) <strong data-start="1785" data-end="1801">AI Labyrinth</strong> gibi “yönlendirip oyalayan” çözümlemeler, robots.txt’ye uymayan yeni nesil tarayıcılara karşı etkili bir ek katmandır. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://blog.cloudflare.com/ai-labyrinth/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">The Cloudflare Blog</span></span></span></a></span></span></p>
</li>
<li data-start="1961" data-end="2298">
<p data-start="1964" data-end="2298"><strong data-start="1964" data-end="2012">Scraper ekosistemi ve robots.txt gerçekliği:</strong> 2024–2025’te yayıncılar ve altyapı sağlayıcıları, <strong data-start="2063" data-end="2090">robots.txt’yi yok sayan</strong> ve kimliğini gizleyen AI tarayıcılarına karşı (örn. varsayılan engelleme, “Pay Per Crawl” gibi) daha agresif önlemler duyurdu; robots.txt <strong data-start="2229" data-end="2257">tek başına yeterli değil</strong>. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://www.theverge.com/news/695501/cloudflare-block-ai-crawlers-default?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">The Verge</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+2</span></span><span class="flex h-4 w-full items-center justify-between absolute"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Reuters</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+2</span></span></span></a></span></span></p>
</li>
<li data-start="2299" data-end="2484">
<p data-start="2302" data-end="2484"><strong data-start="2302" data-end="2322">Ölçüm temizliği:</strong> Başarıyı ölçmek için GA4’te <strong data-start="2351" data-end="2363">internal</strong> ve <strong data-start="2367" data-end="2380">developer</strong> trafiğini filtrele; aksi hâlde bot azaltma etkisini göremezsin. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.google.com/analytics/answer/10104470?hl=en&amp;utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Google Yardım</span></span></span></a></span></span></p>
</li>
<li data-start="2485" data-end="2691">
<p data-start="2488" data-end="2691"><strong data-start="2488" data-end="2519">API’lere özel sıkılaştırma:</strong> 2024’te web saldırıları %33 artarken API’ler birincil hedef hâline geldi; rate limit + kimlik doğrulama + davranışsal sinyaller şart. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://vmblog.com/archive/2025/04/28/akamai-research-web-attacks-up-33-apis-emerge-as-primary-targets.aspx?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">vmblog.com</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
</ol>
<hr data-start="2693" data-end="2696" />
<h2 data-start="2698" data-end="2748" id="uygulanabilir-kontrol-listesi-hizli-baslangic">Uygulanabilir kontrol listesi (Hızlı başlangıç)</h2>
<ul data-start="2749" data-end="4021">
<li data-start="2749" data-end="2939">
<p data-start="2751" data-end="2939"><strong data-start="2751" data-end="2775">Kritik uçları çıkar:</strong> <code data-start="2776" data-end="2784">/login</code>, <code data-start="2786" data-end="2795">/signup</code>, ödeme/form akışları, <code data-start="2818" data-end="2827">/search</code>, ürün beslemeleri ve API uçları; her birini OAT kategorisiyle eşleştir. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://owasp.org/www-project-automated-threats-to-web-applications/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">owasp.org</span></span></span></a></span></span></p>
</li>
<li data-start="2940" data-end="3073">
<p data-start="2942" data-end="3073"><strong data-start="2942" data-end="2973">WAF/CRS’i aç ve tuning yap:</strong> Hatalı pozitifleri azaltmak için istisna kuralları tanımla. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://coreruleset.org/docs/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">CRS Project</span></span></span></a></span></span></p>
</li>
<li data-start="3074" data-end="3197">
<p data-start="3076" data-end="3197"><strong data-start="3076" data-end="3093">Oran sınırla:</strong> Nginx ile IP ve akışa özgü anahtarlarla rate limiting uygula. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://nginx.org/en/docs/http/ngx_http_limit_req_module.html?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">nginx.org</span></span></span></a></span></span></p>
</li>
<li data-start="3198" data-end="3389">
<p data-start="3200" data-end="3389"><strong data-start="3200" data-end="3231">Riskli akışlarda challenge:</strong> Turnstile/reCAPTCHA’yı login, kayıt ve ödeme gibi <strong data-start="3282" data-end="3299">yüksek riskli</strong> akışlarda puan/karar mekanizmasıyla devreye al. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developers.cloudflare.com/turnstile/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Cloudflare Docs</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
<li data-start="3390" data-end="3520">
<p data-start="3392" data-end="3520"><strong data-start="3392" data-end="3416">Honeypot/decoy ekle:</strong> Form honeypot’ları + (Cloudflare kullanıyorsan) AI Labyrinth. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://blog.cloudflare.com/ai-labyrinth/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">The Cloudflare Blog</span></span></span></a></span></span></p>
</li>
<li data-start="3521" data-end="3640">
<p data-start="3523" data-end="3640"><strong data-start="3523" data-end="3544">Scraper yönetimi:</strong> ASN/ülke/UA sinyalleriyle kurallar, hız limitleri, JSON/Feed uçlarına Accept/Referer hijyeni.</p>
</li>
<li data-start="3641" data-end="3739">
<p data-start="3643" data-end="3739"><strong data-start="3643" data-end="3663">Ölçüm temizliği:</strong> GA4 iç/developer trafiğini dışla. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.google.com/analytics/answer/10104470?hl=en&amp;utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Google Yardım</span></span></span></a></span></span></p>
</li>
<li data-start="3740" data-end="3866">
<p data-start="3742" data-end="3866"><strong data-start="3742" data-end="3761">Sürekli gözlem:</strong> 429/5xx oranları, çerezsiz istek patlamaları, belirli ASN/ülkelerden ani sıçramalar için alarmlar kur.</p>
</li>
<li data-start="3867" data-end="4021">
<p data-start="3869" data-end="4021"><strong data-start="3869" data-end="3888">Trendleri izle:</strong> Akamai’nin yıllık/çeyreklik SOTI raporları API/bot eğilimlerini takip için iyi bir referans. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://www.akamai.com/resources/state-of-the-internet?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Akamai</span></span></span></a></span></span></p>
</li>
</ul>
<hr data-start="4023" data-end="4026" />
<h2 data-start="4028" data-end="4064" id="uygulama-taslagi-kopyala-uyarla">Uygulama Taslağı (kopyala–uyarla)</h2>
<h3 data-start="4066" data-end="4113" id="a-nginx-oran-sinirlama-ve-basit-isaretler">A) Nginx: Oran sınırlama ve basit işaretler</h3>
<p data-start="4114" data-end="4171"><strong data-start="4114" data-end="4171">Login akışı için IP + kullanıcı adı birleşik anahtar:</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-nginx"><span class="hljs-comment"># X-Real-IP varsa onu kullan</span><br />
<span class="hljs-attribute">map</span> <span class="hljs-variable">$http_x_real_ip</span> <span class="hljs-variable">$client_ip</span> { <span class="hljs-attribute">default</span> <span class="hljs-variable">$remote_addr</span>; }<br />
<span class="hljs-comment"># IP + username kombinasyonu (query/body'den 'username' geldiğini varsayalım)</span><br />
<span class="hljs-attribute">map</span> <span class="hljs-string">"<span class="hljs-variable">$client_ip</span></span>:<span class="hljs-variable">$arg_username</span>" <span class="hljs-variable">$login_key</span> { <span class="hljs-attribute">default</span> <span class="hljs-variable">$request_uri</span>; }</p>
<p><span class="hljs-comment"># Limit alanları</span><br />
<span class="hljs-attribute">limit_req_zone</span> <span class="hljs-variable">$client_ip</span> zone=perip:<span class="hljs-number">20m</span>   rate=10r/m;<br />
<span class="hljs-attribute">limit_req_zone</span> <span class="hljs-variable">$login_key</span> zone=peruser:<span class="hljs-number">20m</span> rate=5r/m;<br />
<span class="hljs-attribute">limit_conn_zone</span> <span class="hljs-variable">$client_ip</span> zone=ipconn:<span class="hljs-number">10m</span>;</p>
<p><span class="hljs-section">server</span> {<br />
  <span class="hljs-section">location</span> = /login {<br />
    <span class="hljs-attribute">limit_req</span> zone=perip burst=<span class="hljs-number">20</span> nodelay;<br />
    <span class="hljs-attribute">limit_req</span> zone=peruser burst=<span class="hljs-number">5</span>;<br />
    <span class="hljs-attribute">limit_conn</span> ipconn <span class="hljs-number">20</span>;</p>
<p>    <span class="hljs-comment"># Basit bot işaretleri (örnek)</span><br />
    <span class="hljs-attribute">if</span> (<span class="hljs-variable">$http_user_agent</span> <span class="hljs-regexp">~* "(curl|wget|bot|spider)")</span> { <span class="hljs-attribute">return</span> <span class="hljs-number">429</span>; }<br />
    <span class="hljs-attribute">proxy_pass</span> http://app_upstream;<br />
  }<br />
}<br />
</code></div>
</div>
<blockquote data-start="4873" data-end="5049">
<p data-start="4875" data-end="5049">Nginx’in <code data-start="4884" data-end="4895">limit_req</code> modülü leaky-bucket yöntemiyle çalışır; anahtar seçiminde IP’nin NAT arkasında paylaşılıyor olabileceğini unutma. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://nginx.org/en/docs/http/ngx_http_limit_req_module.html?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">nginx.org</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</blockquote>
<p data-start="5051" data-end="5092"><strong data-start="5051" data-end="5092">Form spam için honeypot + hız limiti:</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-nginx"><span class="hljs-comment"># /contact/submit için IP başına saatlik limit</span><br />
<span class="hljs-attribute">limit_req_zone</span> <span class="hljs-variable">$binary_remote_addr</span> zone=formip:<span class="hljs-number">10m</span> rate=30r/h;</p>
<p><span class="hljs-section">location</span> = /contact/submit {<br />
  <span class="hljs-attribute">limit_req</span> zone=formip burst=<span class="hljs-number">10</span>;<br />
  <span class="hljs-comment"># 'hp_field' honeypot alanı dolu geldiyse reddet</span><br />
  <span class="hljs-attribute">if</span> (<span class="hljs-variable">$arg_hp_field</span> != <span class="hljs-string">""</span>) { <span class="hljs-attribute">return</span> <span class="hljs-number">403</span>; }<br />
  <span class="hljs-attribute">proxy_pass</span> http://app_upstream;<br />
}<br />
</code></div>
</div>
<p data-start="5411" data-end="5470"><strong data-start="5411" data-end="5470">Sık kazınan uçlar (search/feed/sitemap) için dar boğaz:</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-nginx"><span class="hljs-attribute">limit_req_zone</span> <span class="hljs-variable">$binary_remote_addr</span> zone=scrape:<span class="hljs-number">20m</span> rate=1r/s;</p>
<p><span class="hljs-section">location</span> <span class="hljs-regexp">~ ^/(search|feed|sitemap\.xml|products\.json)$</span> {<br />
  <span class="hljs-attribute">limit_req</span> zone=scrape burst=<span class="hljs-number">10</span> nodelay;<br />
  <span class="hljs-attribute">proxy_pass</span> http://app_upstream;<br />
}<br />
</code></div>
</div>
<h3 data-start="5684" data-end="5741" id="b-cloudflare-turnstile-waf-mantigi-ai-labyrinth">B) Cloudflare: Turnstile + WAF mantığı + AI Labyrinth</h3>
<p data-start="5742" data-end="5776"><strong data-start="5742" data-end="5776">Turnstile entegrasyonu (özet):</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-html"><span class="hljs-tag">&lt;<span class="hljs-name">script</span></span> <span class="hljs-attr">src</span>=<span class="hljs-string">"https://challenges.cloudflare.com/turnstile/v0/api.js"</span> <span class="hljs-attr">async</span> <span class="hljs-attr">defer</span>&gt;<span class="hljs-tag">&lt;/<span class="hljs-name">script</span></span>&gt;<br />
<span class="hljs-tag">&lt;<span class="hljs-name">form</span></span> <span class="hljs-attr">id</span>=<span class="hljs-string">"login-form"</span> <span class="hljs-attr">method</span>=<span class="hljs-string">"POST"</span> <span class="hljs-attr">action</span>=<span class="hljs-string">"/login"</span>&gt;<br />
  <span class="hljs-comment">&lt;!-- alanlar --&gt;</span><br />
  <span class="hljs-tag">&lt;<span class="hljs-name">div</span></span> <span class="hljs-attr">class</span>=<span class="hljs-string">"cf-turnstile"</span> <span class="hljs-attr">data-sitekey</span>=<span class="hljs-string">"YOUR_SITE_KEY"</span> <span class="hljs-attr">data-theme</span>=<span class="hljs-string">"auto"</span>&gt;<span class="hljs-tag">&lt;/<span class="hljs-name">div</span></span>&gt;<br />
  <span class="hljs-tag">&lt;<span class="hljs-name">button</span></span> <span class="hljs-attr">type</span>=<span class="hljs-string">"submit"</span>&gt;Giriş<span class="hljs-tag">&lt;/<span class="hljs-name">button</span></span>&gt;<br />
<span class="hljs-tag">&lt;/<span class="hljs-name">form</span></span>&gt;<br />
</code></div>
</div>
<p data-start="6080" data-end="6351">Sunucuda (ör. Node) doğrularken token’ı <strong data-start="6120" data-end="6135">/siteverify</strong> ile kontrol et; puan düşükse ek doğrulama iste. Turnstile, Cloudflare CDN’i kullanmasan bile gömülebilir; önce sessiz sinyaller toplar, gerekirse hafif bir challenge gösterir. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developers.cloudflare.com/turnstile/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Cloudflare Docs</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
<p data-start="6353" data-end="6598"><strong data-start="6353" data-end="6397">AI Labyrinth (decoy sayfalarla oyalama):</strong> robots.txt’ye uymayan/bilinen AI tarayıcılarına karşı botu “labirente” sokarak kaynaklarını tüketen yeni savunma; Cloudflare üzerinde ücretsiz/opt-in sunuluyor. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://blog.cloudflare.com/ai-labyrinth/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">The Cloudflare Blog</span></span></span></a></span></span></p>
<p data-start="6600" data-end="6838"><strong data-start="6600" data-end="6618">Güncel bağlam:</strong> Cloudflare 2025’te <strong data-start="6638" data-end="6678">AI crawler’ları varsayılan engelleme</strong> ve <strong data-start="6682" data-end="6699">Pay Per Crawl</strong> seçeneklerini duyurdu; robots.txt’yi yok sayan botlara karşı altyapı seviyesinde kontrol sağlıyor. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://www.theverge.com/news/695501/cloudflare-block-ai-crawlers-default?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">The Verge</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
<h3 data-start="6840" data-end="6888" id="c-aws-waf-bot-control-yonetilen-kurallar">C) AWS WAF: Bot Control + yönetilen kurallar</h3>
<ul data-start="6889" data-end="7055">
<li data-start="6889" data-end="7055">
<p data-start="6891" data-end="7055"><strong data-start="6891" data-end="6914">AWS WAF Bot Control</strong>: Bilinen bot kategorilerini (iyi/kötü) ayıran yönetilen kurallar; özel kurallarla birleştirilebilir. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">docs.aws.amazon.com</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
</ul>
<p data-start="7057" data-end="7111"><strong data-start="7057" data-end="7111">Örnek (IP başına /login rate limit + Bot Control):</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-json"><span class="hljs-punctuation">[</span><br />
  <span class="hljs-punctuation">{</span><br />
    <span class="hljs-attr">"Name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"AllowPartners"</span><span class="hljs-punctuation">,</span><br />
    <span class="hljs-attr">"Priority"</span><span class="hljs-punctuation">:</span> <span class="hljs-number">0</span><span class="hljs-punctuation">,</span><br />
    <span class="hljs-attr">"Statement"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span> <span class="hljs-attr">"IPSetReferenceStatement"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span> <span class="hljs-attr">"ARN"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"arn:aws:wafv2:...:ipset/partners"</span> <span class="hljs-punctuation">}</span> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span><br />
    <span class="hljs-attr">"Action"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span> <span class="hljs-attr">"Allow"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span><span class="hljs-punctuation">}</span> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span><br />
    <span class="hljs-attr">"VisibilityConfig"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span> <span class="hljs-attr">"SampledRequestsEnabled"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">true</span></span><span class="hljs-punctuation">,</span> <span class="hljs-attr">"CloudWatchMetricsEnabled"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">true</span></span><span class="hljs-punctuation">,</span> <span class="hljs-attr">"MetricName"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"AllowPartners"</span> <span class="hljs-punctuation">}</span><br />
  <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span><br />
  <span class="hljs-punctuation">{</span><br />
    <span class="hljs-attr">"Name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"AWSBotControl"</span><span class="hljs-punctuation">,</span><br />
    <span class="hljs-attr">"Priority"</span><span class="hljs-punctuation">:</span> <span class="hljs-number">1</span><span class="hljs-punctuation">,</span><br />
    <span class="hljs-attr">"Statement"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span> <span class="hljs-attr">"ManagedRuleGroupStatement"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span> <span class="hljs-attr">"VendorName"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"AWS"</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">"Name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"AWSManagedRulesBotControlRuleSet"</span> <span class="hljs-punctuation">}</span> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span><br />
    <span class="hljs-attr">"OverrideAction"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span> <span class="hljs-attr">"None"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span><span class="hljs-punctuation">}</span> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span><br />
    <span class="hljs-attr">"VisibilityConfig"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span> <span class="hljs-attr">"SampledRequestsEnabled"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">true</span></span><span class="hljs-punctuation">,</span> <span class="hljs-attr">"CloudWatchMetricsEnabled"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">true</span></span><span class="hljs-punctuation">,</span> <span class="hljs-attr">"MetricName"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"BotControl"</span> <span class="hljs-punctuation">}</span><br />
  <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span><br />
  <span class="hljs-punctuation">{</span><br />
    <span class="hljs-attr">"Name"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"RateLimitLoginPerIP"</span><span class="hljs-punctuation">,</span><br />
    <span class="hljs-attr">"Priority"</span><span class="hljs-punctuation">:</span> <span class="hljs-number">10</span><span class="hljs-punctuation">,</span><br />
    <span class="hljs-attr">"Statement"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span><br />
      <span class="hljs-attr">"RateBasedStatement"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span><br />
        <span class="hljs-attr">"Limit"</span><span class="hljs-punctuation">:</span> <span class="hljs-number">300</span><span class="hljs-punctuation">,</span><br />
        <span class="hljs-attr">"AggregateKeyType"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"IP"</span><span class="hljs-punctuation">,</span><br />
        <span class="hljs-attr">"ScopeDownStatement"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span><br />
          <span class="hljs-attr">"ByteMatchStatement"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span><br />
            <span class="hljs-attr">"SearchString"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"/login"</span><span class="hljs-punctuation">,</span><br />
            <span class="hljs-attr">"FieldToMatch"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span> <span class="hljs-attr">"UriPath"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span><span class="hljs-punctuation">}</span> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span><br />
            <span class="hljs-attr">"TextTransformations"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><span class="hljs-punctuation">{</span> <span class="hljs-attr">"Type"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"NONE"</span><span class="hljs-punctuation">,</span> <span class="hljs-attr">"Priority"</span><span class="hljs-punctuation">:</span> <span class="hljs-number">0</span> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">,</span><br />
            <span class="hljs-attr">"PositionalConstraint"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"STARTS_WITH"</span><br />
          <span class="hljs-punctuation">}</span><br />
        <span class="hljs-punctuation">}</span><br />
      <span class="hljs-punctuation">}</span><br />
    <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span><br />
    <span class="hljs-attr">"Action"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span> <span class="hljs-attr">"Block"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span><span class="hljs-punctuation">}</span> <span class="hljs-punctuation">}</span><span class="hljs-punctuation">,</span><br />
    <span class="hljs-attr">"VisibilityConfig"</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span> <span class="hljs-attr">"SampledRequestsEnabled"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">true</span></span><span class="hljs-punctuation">,</span> <span class="hljs-attr">"CloudWatchMetricsEnabled"</span><span class="hljs-punctuation">:</span> <span class="hljs-literal"><span class="hljs-keyword">true</span></span><span class="hljs-punctuation">,</span> <span class="hljs-attr">"MetricName"</span><span class="hljs-punctuation">:</span> <span class="hljs-string">"RateLogin"</span> <span class="hljs-punctuation">}</span><br />
  <span class="hljs-punctuation">}</span><br />
<span class="hljs-punctuation">]</span><br />
</code></div>
</div>
<h3 data-start="8400" data-end="8455" id="d-google-recaptcha-enterprise-oat-uyumlu-mimari">D) Google reCAPTCHA (Enterprise): OAT uyumlu mimari</h3>
<p data-start="8456" data-end="8779">Google’ın <strong data-start="8466" data-end="8473">OAT</strong> tehditlerine göre en iyi uygulamalar kılavuzu, kart dolandırıcılığı, credential stuffing vb. senaryolarda <strong data-start="8580" data-end="8596">puan tabanlı</strong> karar akışları ve “ek doğrulama” önerir. Uygulamada, skor/bağlama göre “izin ver / MFA iste / insan doğrulaması iste / reddet” kuralı tanımla. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://cloud.google.com/recaptcha/docs/best-practices-oat?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Google Cloud</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
<h3 data-start="8781" data-end="8839" id="e-ga4-ic-developer-trafigini-disla-olcum-temizligi">E) GA4: İç/developer trafiğini dışla (ölçüm temizliği)</h3>
<ul data-start="8840" data-end="9150">
<li data-start="8840" data-end="9010">
<p data-start="8842" data-end="9010"><strong data-start="8842" data-end="8862">Internal traffic</strong>: IP’leri “Define internal traffic” ile tanımla, ardından <strong data-start="8920" data-end="8936">Data Filters</strong>’ta <strong data-start="8940" data-end="8951">Exclude</strong> olarak aktif et. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.google.com/analytics/answer/10104470?hl=en&amp;utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Google Yardım</span></span></span></a></span></span></p>
</li>
<li data-start="9011" data-end="9150">
<p data-start="9013" data-end="9150">(İpucu) GA4, iç trafikten gelen vuruşlara <code data-start="9055" data-end="9068">tt=internal</code> işareti koyar; validasyonu kolaylaştırır. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://selnekovic.com/ga4-internal-traffic-filtering-with-traffic-type-marker/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">selnekovic.com</span></span></span></a></span></span></p>
</li>
</ul>
<h3 data-start="9152" data-end="9183" id="f-izleme-alarm-fikirleri">F) İzleme &amp; alarm fikirleri</h3>
<ul data-start="9184" data-end="9513">
<li data-start="9184" data-end="9246">
<p data-start="9186" data-end="9246"><strong data-start="9186" data-end="9203">429/5xx oranı</strong> ve <strong data-start="9207" data-end="9243">endpoint başına z-skor sapmaları</strong>.</p>
</li>
<li data-start="9247" data-end="9310">
<p data-start="9249" data-end="9310"><strong data-start="9249" data-end="9270">Cookie-less istek</strong> oranı, <strong data-start="9278" data-end="9290">ASN/ülke</strong> bazlı patlamalar.</p>
</li>
<li data-start="9311" data-end="9395">
<p data-start="9313" data-end="9395"><strong data-start="9313" data-end="9342">Decoy/honeypot isabetleri</strong> metriki (AI Labyrinth/honeypot sayfalarına giriş).</p>
</li>
<li data-start="9396" data-end="9513">
<p data-start="9398" data-end="9513"><strong data-start="9398" data-end="9423">API saldırı trendleri</strong> için Akamai’nin SOTI raporlarını periyodik takip. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://vmblog.com/archive/2025/04/28/akamai-research-web-attacks-up-33-apis-emerge-as-primary-targets.aspx?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">vmblog.com</span></span></span></a></span></span></p>
</li>
</ul>
<hr data-start="9515" data-end="9518" />
<h2 data-start="9520" data-end="9560" id="neden-robots-txt-tek-basina-yetmiyor">Neden robots.txt tek başına yetmiyor?</h2>
<p data-start="9561" data-end="9839">Son 1 yılda; kimliğini gizleyen, <strong data-start="9594" data-end="9627">robots.txt’yi görmezden gelen</strong> ya da <strong data-start="9634" data-end="9655">UA/başlık taklidi</strong> yapan AI tarayıcılarına dair çok sayıda bulgu paylaşıldı. Bu yüzden <strong data-start="9724" data-end="9757">altyapı seviyesinde engelleme</strong> (WAF/ASN/UA/Rate limit/Decoy) gereklidir. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://arstechnica.com/tech-policy/2025/01/ai-haters-build-tarpits-to-trap-and-trick-ai-scrapers-that-ignore-robots-txt/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">arstechnica.com</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
<hr data-start="9841" data-end="9844" />
<h2 data-start="9846" data-end="9897" id="kullanici-deneyimi-kademeli-surtunme-prensibi">Kullanıcı deneyimi: “kademeli sürtünme” prensibi</h2>
<ul data-start="9898" data-end="10164">
<li data-start="9898" data-end="10164">
<p data-start="9900" data-end="10164">Herkese CAPTCHA göstermek yerine, <strong data-start="9934" data-end="9949">risk skorlu</strong> ve <strong data-start="9953" data-end="9965">kademeli</strong> zorlaştırma kullanın: düşük riskli akışlarda sürtünme yok; risk yükseldikçe <strong data-start="10042" data-end="10079">MFA / challenge / manuel inceleme</strong>. Turnstile ve reCAPTCHA bu modeli destekler. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developers.cloudflare.com/turnstile/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Cloudflare Docs</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
</ul>
<hr data-start="10166" data-end="10169" />
<h2 data-start="10171" data-end="10211" id="ek-somut-kural-seti-taslagi-ozet">Ek: Somut “kural seti” taslağı (özet)</h2>
<ol data-start="10212" data-end="11171">
<li data-start="10212" data-end="10398">
<p data-start="10215" data-end="10398"><strong data-start="10215" data-end="10224">Nginx</strong>: <code data-start="10226" data-end="10234">/login</code> için IP+username anahtarıyla <code data-start="10264" data-end="10275">limit_req</code>; form uçlarına honeypot + saatlik limit; “sıcak” scraping uçlarına 1 r/s sınırı. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://nginx.org/en/docs/http/ngx_http_limit_req_module.html?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">nginx.org</span></span></span></a></span></span></p>
</li>
<li data-start="10399" data-end="10633">
<p data-start="10402" data-end="10633"><strong data-start="10402" data-end="10416">Cloudflare</strong>: Turnstile’ı yalnızca <strong data-start="10439" data-end="10461">login/signup/ödeme</strong> gibi riskli akışlara yerleştir; <strong data-start="10494" data-end="10510">AI Labyrinth</strong>’i aç; bilinen AI UA’ları ve “şüpheli oran” için WAF’ta Managed Challenge uygula. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developers.cloudflare.com/turnstile/?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Cloudflare Docs</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
<li data-start="10634" data-end="10771">
<p data-start="10637" data-end="10771"><strong data-start="10637" data-end="10648">AWS WAF</strong>: Önde Allowlist → <strong data-start="10667" data-end="10682">Bot Control</strong> → <strong data-start="10685" data-end="10704">Common Rule Set</strong> → akışa özel rate limit. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">docs.aws.amazon.com</span></span></span></a></span></span></p>
</li>
<li data-start="10772" data-end="10916">
<p data-start="10775" data-end="10916"><strong data-start="10775" data-end="10782">GA4</strong>: Internal/Developer filtreleri <strong data-start="10814" data-end="10824">Active</strong>; bot benzeri oturumlar için ayrı segment oluştur. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.google.com/analytics/answer/10104470?hl=en&amp;utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Google Yardım</span></span></span></a></span></span></p>
</li>
<li data-start="10917" data-end="11029">
<p data-start="10920" data-end="11029"><strong data-start="10920" data-end="10943">Sürekli iyileştirme</strong>: Hatalı pozitif vakalarını toplayıp istisnalar yaz; eşikleri haftalık gözden geçir.</p>
</li>
<li data-start="11030" data-end="11171">
<p data-start="11033" data-end="11171"><strong data-start="11033" data-end="11049">Trend takibi</strong>: API saldırıları ve scraper davranışlarına dair Akamai SOTI raporlarını takip et. <span class="" data-state="delayed-open" aria-describedby="radix-_r_1jf_"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill" aria-describedby="radix-_r_1jf_"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out bg-token-text-primary! text-token-main-surface-primary!" href="https://www.akamai.com/resources/state-of-the-internet?utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Akamai</span></span></span></a></span></span></p>
</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://saviorhost.com/blog/web-sitelerinde-spam-trafigini-engelleme-2025-rehberi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>500 Plesk\Exception\Database Hatası (SQLSTATE 2002) – Kesin Çözüm Rehberi</title>
		<link>https://saviorhost.com/blog/500-pleskexceptiondatabase-hatasi-sqlstate-2002-kesin-cozum-rehberi/</link>
					<comments>https://saviorhost.com/blog/500-pleskexceptiondatabase-hatasi-sqlstate-2002-kesin-cozum-rehberi/#respond</comments>
		
		<dc:creator><![CDATA[admincim]]></dc:creator>
		<pubDate>Tue, 14 Oct 2025 13:56:40 +0000</pubDate>
				<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://saviorhost.com/blog/?p=2146</guid>

					<description><![CDATA[“500 Plesk\Exception\Database” tipik olarak Plesk’in kendi veritabanına (psa) ya da alttaki MySQL/MariaDB/Plesk SQL Server hizmetine bağlanamamasıyla oluşur. Nedeni çoğunlukla servis...]]></description>
										<content:encoded><![CDATA[<p data-start="772" data-end="1174">“500 Plesk\Exception\Database” tipik olarak Plesk’in kendi veritabanına (<em data-start="845" data-end="850">psa</em>) ya da alttaki MySQL/MariaDB/Plesk SQL Server hizmetine bağlanamamasıyla oluşur. Nedeni çoğunlukla servis kapalı, disk dolu, socket/port hatası, bozulmuş <em data-start="1005" data-end="1010">psa</em> tabloları veya geçici “repair” işlemleridir. Plesk’in resmi <strong data-start="1071" data-end="1089">Repair Utility</strong> aracı çoğu olayı tek komutla tespit ve onarır. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.plesk.com/en-US/obsidian/administrator-guide/plesk-administration/plesk-repair-utility.74649/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">docs.plesk.com</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
<hr data-start="1176" data-end="1179" />
<h2 data-start="1181" data-end="1244" id="ilk-teshis-gunlukleri-log-ve-servis-durumunu-kontrol-edin">İlk Teşhis: Günlükleri (Log) ve Servis Durumunu Kontrol Edin</h2>
<ol data-start="1245" data-end="1974">
<li data-start="1245" data-end="1548">
<p data-start="1248" data-end="1342"><strong data-start="1248" data-end="1280">Plesk arayüzü erişilemiyorsa</strong>, sunucuya SSH ile bağlanın ve MariaDB/MySQL durumuna bakın:</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">systemctl status mariadb<br />
journalctl -u mariadb -n 200 --no-pager<br />
</code></div>
</div>
<p data-start="1435" data-end="1548">(Windows’ta Olay Görüntüleyici ve Plesk SQL Server servisini kontrol edin.) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.plesk.com/hc/en-us/articles/12377018133911-Plesk-is-not-accessible-500-Plesk-Exception-Database-Plesk-SQL-Server-Error-1053?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">support.plesk.com</span></span></span></a></span></span></p>
</li>
<li data-start="1550" data-end="1773">
<p data-start="1553" data-end="1640"><strong data-start="1553" data-end="1578">Geçmiş boot loglarını</strong> inceleyin (özellikle beklenmedik yeniden başlatma sonrası):</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">journalctl --boot=-1 -n 5000<br />
</code></div>
</div>
<p data-start="1694" data-end="1773">(Forumda doğrulanan pratik bir yaklaşım.) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://talk.plesk.com/threads/server-error-500-plesk-exception-database-solved-but-why.371832/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Plesk Forum</span></span></span></a></span></span></p>
</li>
<li data-start="1775" data-end="1974">
<p data-start="1778" data-end="1797"><strong data-start="1778" data-end="1794">Disk doluluk</strong>:</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash"><span class="hljs-built_in">df</span> -h<br />
<span class="hljs-built_in">du</span> -sh /var/lib/mysql/* | <span class="hljs-built_in">sort</span> -h<br />
</code></div>
</div>
<p data-start="1865" data-end="1974">Diskin dolması, MySQL’in başlamasını engeller ve 500 hatasına yol açar. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://talk.plesk.com/threads/help-server-error500-plesk-exception-database.372024/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Plesk Forum</span></span></span></a></span></span></p>
</li>
</ol>
<hr data-start="1976" data-end="1979" />
<h2 data-start="1981" data-end="2029" id="hizli-onarim-plesk-repair-utility-onerilen">Hızlı Onarım: Plesk Repair Utility (Önerilen)</h2>
<p data-start="2030" data-end="2047"><strong data-start="2030" data-end="2045">Çalıştırın:</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">plesk repair db<br />
</code></div>
</div>
<p data-start="2076" data-end="2271">Bu komut Plesk veritabanı tutarlılığını denetler, gerekirse otomatik yedek (dump) alır ve onarım dener. Linux/Windows’ta kullanılabilir. Ek seçenek gerekmez. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.plesk.com/en-US/obsidian/administrator-guide/plesk-administration/plesk-repair-utility/plesk-repair-utility-plesk-database.74665/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">docs.plesk.com</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+2</span></span><span class="flex h-4 w-full items-center justify-between absolute"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">plesk.com</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+2</span></span></span></a></span></span></p>
<blockquote data-start="2273" data-end="2525">
<p data-start="2275" data-end="2525"><strong data-start="2275" data-end="2303">Not – Geçici 500 Hatası:</strong> <code data-start="2304" data-end="2331">plesk repair installation</code> gibi geniş onarım çalışırken Plesk kısa süre erişilemez ve 500 hatası görülebilir; bu, bilinen bir Repair Kit davranışı/bug’ıdır ve işlem bitince kaybolur. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.plesk.com/hc/en-us/articles/12376955793175-Diagnose-Repair-tool-provides-the-error-when-repairing-Plesk-installation-500-Plesk-Expection-Database?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">support.plesk.com</span></span></span></a></span></span></p>
</blockquote>
<hr data-start="2527" data-end="2530" />
<h2 data-start="2532" data-end="2590" id="senaryo-a-sqlstatehy0002002-connection-refused">Senaryo A: <strong data-start="2546" data-end="2590">SQLSTATE[HY000][2002] Connection refused</strong></h2>
<p data-start="2591" data-end="2605"><strong data-start="2591" data-end="2603">Belirti:</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre!">DB query failed: "SET sql_mode = ''"<br />
Error: <span class="hljs-built_in">SQLSTATE</span>[HY000][<span class="hljs-number">2002</span>] <span class="hljs-keyword">Connection</span> refused<br />
</code></div>
</div>
<p data-start="2699" data-end="2779"><strong data-start="2699" data-end="2709">Neden:</strong> MariaDB/MySQL servisinin down olması veya başlayamaması.<br data-start="2766" data-end="2769" /><strong data-start="2769" data-end="2779">Çözüm:</strong></p>
<ol data-start="2780" data-end="3096">
<li data-start="2780" data-end="2894">
<p data-start="2783" data-end="2819">Servisi başlatın/yeniden başlatın:</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">systemctl restart mariadb<br />
systemctl status mariadb<br />
</code></div>
</div>
</li>
<li data-start="2895" data-end="2976">
<p data-start="2898" data-end="2976">Loglardaki temel sebebi giderin (ör. yapılandırma, port çakışması, izinler).</p>
</li>
<li data-start="2977" data-end="3096">
<p data-start="2980" data-end="3096">Ardından <code data-start="2989" data-end="3006">plesk repair db</code> çalıştırın.<br data-start="3018" data-end="3021" />Kaynak ve aynı hatanın resmi analizi: <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.plesk.com/hc/en-us/articles/15456789107223-Unable-to-access-Plesk-panel-ERROR-500-Plesk-Exception-Database-SQLSTATE-HY000-2002-Connection-refused?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">support.plesk.com</span></span></span></a></span></span></p>
</li>
</ol>
<hr data-start="3098" data-end="3101" />
<h2 data-start="3103" data-end="3168" id="senaryo-b-sqlstatehy0002002-no-such-file-or-directory">Senaryo B: <strong data-start="3117" data-end="3168">SQLSTATE[HY000][2002] No such file or directory</strong></h2>
<p data-start="3169" data-end="3183"><strong data-start="3169" data-end="3181">Belirti:</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre!"><span class="hljs-meta prompt_">...</span> <span class="language-python">[<span class="hljs-number">2002</span></span>] No such file <span class="hljs-keyword">or</span> directory<br />
</code></div>
</div>
<p data-start="3229" data-end="3348"><strong data-start="3229" data-end="3239">Neden:</strong> MySQL socket dosyası yok/yanlış yol, servis kapalı veya disk taşması sonucunda soket oluşmuyor.<br data-start="3335" data-end="3338" /><strong data-start="3338" data-end="3348">Çözüm:</strong></p>
<ol data-start="3349" data-end="3645">
<li data-start="3349" data-end="3471">
<p data-start="3352" data-end="3471">Servisi yeniden başlatın; <code data-start="3378" data-end="3391">/etc/my.cnf</code> içindeki <code data-start="3401" data-end="3409">socket</code> yolunu ve <code data-start="3420" data-end="3447">/var/lib/mysql/mysql.sock</code> varlığını doğrulayın.</p>
</li>
<li data-start="3472" data-end="3517">
<p data-start="3475" data-end="3517">Disk doluysa alan açın (bkz. Senaryo D).</p>
</li>
<li data-start="3518" data-end="3645">
<p data-start="3521" data-end="3645">Gerekirse <code data-start="3531" data-end="3537">/tmp</code> izinlerini ve AppArmor/SELinux kısıtlarını kontrol edin.<br data-start="3594" data-end="3597" />Doğrulama: <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://talk.plesk.com/threads/error-500-plesk-exception-database-db-query-failed-sqlstate-hy000-2002-no-such-file-or-directory.373886/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Plesk Forum</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
</ol>
<hr data-start="3647" data-end="3650" />
<h2 data-start="3652" data-end="3724" id="senaryo-c-plesk-sql-server-error-1053-windows-port-cakismasi">Senaryo C: <strong data-start="3666" data-end="3724">Plesk SQL Server Error 1053 (Windows) / Port Çakışması</strong></h2>
<p data-start="3725" data-end="3923"><strong data-start="3725" data-end="3737">Belirti:</strong> 1053; Event Viewer’da “Bind on TCP/IP port 3306… already in use”.<br data-start="3803" data-end="3806" /><strong data-start="3806" data-end="3816">Neden:</strong> Plesk SQL Server servis yapılandırması hatalı ya da 3306 portunu başka bir mysqld kullanıyor.<br data-start="3910" data-end="3913" /><strong data-start="3913" data-end="3923">Çözüm:</strong></p>
<ol data-start="3924" data-end="4131">
<li data-start="3924" data-end="4003">
<p data-start="3927" data-end="4003">Hizmetin “Path to executable” ayarını doğru my.ini bilgisiyle güncelleyin.</p>
</li>
<li data-start="4004" data-end="4131">
<p data-start="4007" data-end="4131">Port çakışması varsa bağlanan diğer MySQL örneğini kapatın/portu değiştirin.<br data-start="4083" data-end="4086" />Kaynak: <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.plesk.com/hc/en-us/articles/12377018133911-Plesk-is-not-accessible-500-Plesk-Exception-Database-Plesk-SQL-Server-Error-1053?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">support.plesk.com</span></span></span></a></span></span></p>
</li>
</ol>
<hr data-start="4133" data-end="4136" />
<h2 data-start="4138" data-end="4191" id="senaryo-d-disk-dolu-no-space-left-on-device">Senaryo D: <strong data-start="4152" data-end="4191">Disk Dolu (No space left on device)</strong></h2>
<p data-start="4192" data-end="4278"><strong data-start="4192" data-end="4204">Belirti:</strong> MySQL başlatılamıyor; günlüklerde “No space left on device”.<br data-start="4265" data-end="4268" /><strong data-start="4268" data-end="4278">Çözüm:</strong></p>
<ol data-start="4279" data-end="4486">
<li data-start="4279" data-end="4358">
<p data-start="4282" data-end="4358"><code data-start="4282" data-end="4289">df -h</code> ile dolu diskleri tespit edin, gereksiz log/backupları temizleyin.</p>
</li>
<li data-start="4359" data-end="4486">
<p data-start="4362" data-end="4486">MariaDB’yi yeniden başlatın, ardından <code data-start="4400" data-end="4417">plesk repair db</code>.<br data-start="4418" data-end="4421" />Resmi Plesk çözüm makalesi: <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://talk.plesk.com/threads/help-server-error500-plesk-exception-database.372024/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Plesk Forum</span></span></span></a></span></span></p>
</li>
</ol>
<hr data-start="4488" data-end="4491" />
<h2 data-start="4493" data-end="4558" id="senaryo-e-bozulmus-plesk-sistem-veritabanlari-psa-vb">Senaryo E: <strong data-start="4507" data-end="4558">Bozulmuş Plesk Sistem Veritabanları (<em data-start="4546" data-end="4551">psa</em> vb.)</strong></h2>
<p data-start="4559" data-end="4665"><strong data-start="4559" data-end="4571">Belirti:</strong> <em data-start="4572" data-end="4577">psa</em> tabloları “crashed”/tutarsız; Plesk arayüzü 500 veriyor.<br data-start="4634" data-end="4637" /><strong data-start="4637" data-end="4665">Çözüm (önce yedek alın):</strong></p>
<ol data-start="4666" data-end="5174">
<li data-start="4666" data-end="4727">
<p data-start="4669" data-end="4690"><strong data-start="4669" data-end="4687">Repair Utility</strong>:</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">plesk repair db<br />
</code></div>
</div>
</li>
<li data-start="4728" data-end="4998">
<p data-start="4731" data-end="4998"><strong data-start="4731" data-end="4773">Gerekirse günlük yedekten geri yükleme</strong> (Plesk’in otomatik dump’ları):<br data-start="4804" data-end="4807" />Plesk günlük/pre-upgrade dump’tan <em data-start="4844" data-end="4849">psa</em>’yı geri yükleme adımları resmi rehberde anlatılır. (Örnek komutlar ve değiştirme notları rehberde mevcut.) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://www.plesk.com/kb/support/how-to-restore-plesk-system-databases-from-a-plesk-daily-pre-upgrade-dump/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">plesk.com</span></span></span></a></span></span></p>
</li>
<li data-start="4999" data-end="5174">
<p data-start="5002" data-end="5174">Alternatif CLI restore notları (ilerseviye): dump’tan <em data-start="5056" data-end="5062">apsc</em>/<em data-start="5063" data-end="5068">psa</em> geri yükleme pratikleri. (Topluluk deneyimi; dikkatle uygulayın.) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://wpguru.co.uk/2025/01/restoring-a-database-in-plesk-from-the-command-line/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">The WP Guru</span></span></span></a></span></span></p>
</li>
</ol>
<blockquote data-start="5176" data-end="5392">
<p data-start="5178" data-end="5392"><strong data-start="5178" data-end="5188">Uyarı:</strong> Manuel <code data-start="5196" data-end="5217">mysqlcheck --repair</code> veya <code data-start="5223" data-end="5246">innodb_force_recovery</code> gibi adımlar verinizi riske sokabilir; önce <strong data-start="5291" data-end="5307">resmi repair</strong> ve <strong data-start="5311" data-end="5333">resmi geri yükleme</strong> yollarını deneyin. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.plesk.com/en-US/obsidian/administrator-guide/plesk-administration/plesk-repair-utility/plesk-repair-utility-plesk-database.74665/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">docs.plesk.com</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</blockquote>
<hr data-start="5394" data-end="5397" />
<h2 data-start="5399" data-end="5462" id="senaryo-f-gecici-repair-calisirken-plesk-inaccessible">Senaryo F: <strong data-start="5413" data-end="5462">Geçici — Repair Çalışırken Plesk İnaccessible</strong></h2>
<p data-start="5463" data-end="5660"><strong data-start="5463" data-end="5475">Belirti:</strong> <code data-start="5476" data-end="5503">plesk repair installation</code> sırasında panel 500 hatası döner.<br data-start="5537" data-end="5540" /><strong data-start="5540" data-end="5550">Çözüm:</strong> İşlem tamamlanınca düzelir; bilinen bir davranış/bug kaydı mevcuttur. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.plesk.com/hc/en-us/articles/12376955793175-Diagnose-Repair-tool-provides-the-error-when-repairing-Plesk-installation-500-Plesk-Expection-Database?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">support.plesk.com</span></span></span></a></span></span></p>
<hr data-start="5662" data-end="5665" />
<h2 data-start="5667" data-end="5742" id="senaryo-g-eksik-silinmis-dosya-veya-antivirus-karantinasi-windows">Senaryo G: <strong data-start="5681" data-end="5742">Eksik/Silinmiş Dosya veya Antivirüs Karantinası (Windows)</strong></h2>
<p data-start="5743" data-end="5974"><strong data-start="5743" data-end="5755">Belirti:</strong> “500 Internal Server Error – Failed opening required …”<br data-start="5811" data-end="5814" /><strong data-start="5814" data-end="5824">Çözüm:</strong> Eksik dosyayı aynı sürüm çalışan bir Plesk’ten geri getirin; antivirüse <strong data-start="5897" data-end="5912">%plesk_dir%</strong> için istisna ekleyin. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.plesk.com/hc/en-us/articles/15157722190231-Plesk-panel-fails-to-open-500-Internal-Server-Error?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">support.plesk.com</span></span></span></a></span></span></p>
<hr data-start="5976" data-end="5979" />
<h2 data-start="5981" data-end="6037" id="adim-adim-standart-duzeltme-akisi-onerilen-playbook">Adım Adım Standart Düzeltme Akışı (Önerilen Playbook)</h2>
<ol data-start="6038" data-end="6774">
<li data-start="6038" data-end="6158">
<p data-start="6041" data-end="6158"><strong data-start="6041" data-end="6067">Servisleri kontrol et:</strong> <code data-start="6068" data-end="6094">systemctl status mariadb</code> → hata varsa log oku. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.plesk.com/hc/en-us/articles/15456789107223-Unable-to-access-Plesk-panel-ERROR-500-Plesk-Exception-Database-SQLSTATE-HY000-2002-Connection-refused?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">support.plesk.com</span></span></span></a></span></span></p>
</li>
<li data-start="6159" data-end="6246">
<p data-start="6162" data-end="6246"><strong data-start="6162" data-end="6177">Disk alanı:</strong> <code data-start="6178" data-end="6185">df -h</code> → doluysa temizle. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://talk.plesk.com/threads/help-server-error500-plesk-exception-database.372024/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Plesk Forum</span></span></span></a></span></span></p>
</li>
<li data-start="6247" data-end="6355">
<p data-start="6250" data-end="6355"><strong data-start="6250" data-end="6278">Repair Utility çalıştır:</strong> <code data-start="6279" data-end="6296">plesk repair db</code> (Linux/Windows). <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.plesk.com/en-US/obsidian/administrator-guide/plesk-administration/plesk-repair-utility/plesk-repair-utility-plesk-database.74665/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">docs.plesk.com</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
<li data-start="6356" data-end="6498">
<p data-start="6359" data-end="6498"><strong data-start="6359" data-end="6383">Socket/Port doğrula:</strong> <code data-start="6384" data-end="6396">mysql.sock</code> yolu ve 3306 çakışması. (Windows’ta hizmet yapılandırması.) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.plesk.com/hc/en-us/articles/12377018133911-Plesk-is-not-accessible-500-Plesk-Exception-Database-Plesk-SQL-Server-Error-1053?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">support.plesk.com</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
<li data-start="6499" data-end="6627">
<p data-start="6502" data-end="6627"><strong data-start="6502" data-end="6524">Hâlâ sorun var mı?</strong> <strong data-start="6525" data-end="6551">Plesk sistem DB’lerini</strong> dump’tan geri yükle (örn. <em data-start="6578" data-end="6583">psa</em>). <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://www.plesk.com/kb/support/how-to-restore-plesk-system-databases-from-a-plesk-daily-pre-upgrade-dump/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">plesk.com</span></span></span></a></span></span></p>
</li>
<li data-start="6628" data-end="6774">
<p data-start="6631" data-end="6774"><strong data-start="6631" data-end="6649">Geçici 500 mi?</strong> Repair esnasında oluştuysa görmezden gelebilirsiniz; işlem bitince panel geri gelir. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.plesk.com/hc/en-us/articles/12376955793175-Diagnose-Repair-tool-provides-the-error-when-repairing-Plesk-installation-500-Plesk-Expection-Database?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">support.plesk.com</span></span></span></a></span></span></p>
</li>
</ol>
<hr data-start="6776" data-end="6779" />
<h2 data-start="6781" data-end="6787" id="sss">SSS</h2>
<p data-start="6789" data-end="6947"><strong data-start="6789" data-end="6825">Bu hata neden “genel” gözüküyor?</strong><br data-start="6825" data-end="6828" />“500 Plesk\Exception\Database” şemsiye bir hatadır; somut sebep loglarda çıkar. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://talk.plesk.com/threads/server-error-500-plesk-exception-database-solved-but-why.371832/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Plesk Forum</span></span></span></a></span></span></p>
<p data-start="6949" data-end="7143"><strong data-start="6949" data-end="7003">Plesk’te veritabanını GUI’den de onarabilir miyim?</strong><br data-start="7003" data-end="7006" />Evet; “Websites &amp; Domains → Databases → Check and Repair”. (Sürümünüze göre görünüm değişebilir.) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://lets-rebuild.com/how-to-repair-plesk-database.html?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">lets-rebuild.com</span></span></span></a></span></span></p>
<p data-start="7145" data-end="7305"><strong data-start="7145" data-end="7179">Repair sırasında 500 görürsem?</strong><br data-start="7179" data-end="7182" />Bu beklenen bir davranış olabilir; repair bitince panel geri gelir (EXTPLESK-3451). <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.plesk.com/hc/en-us/articles/12376955793175-Diagnose-Repair-tool-provides-the-error-when-repairing-Plesk-installation-500-Plesk-Expection-Database?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">support.plesk.com</span></span></span></a></span></span></p>
<hr data-start="7307" data-end="7310" />
<h2 data-start="7312" data-end="7345" id="ileri-duzey-notlar-ve-ipuclari">İleri Düzey Notlar ve İpuçları</h2>
<ul data-start="7346" data-end="7771">
<li data-start="7346" data-end="7411">
<p data-start="7348" data-end="7411"><strong data-start="7348" data-end="7387">Komutları üretimde uygulamadan önce</strong> snapshot/backup alın.</p>
</li>
<li data-start="7412" data-end="7574">
<p data-start="7414" data-end="7574">Plesk Repair Utility, tutarsızlık bulursa otomatik dump alıp onarım dener; bu nedenle <strong data-start="7500" data-end="7524">ilk başvuru aracınız</strong> olmalı. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.plesk.com/en-US/obsidian/administrator-guide/plesk-administration/plesk-repair-utility/plesk-repair-utility-plesk-database.74665/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">docs.plesk.com</span></span></span></a></span></span></p>
</li>
<li data-start="7575" data-end="7771">
<p data-start="7577" data-end="7771">Hata <em data-start="7582" data-end="7609">No such file or directory</em> ise <strong data-start="7614" data-end="7624">socket</strong> yolunu ve <strong data-start="7635" data-end="7643">/tmp</strong> izinlerini kontrol edin; <em data-start="7669" data-end="7689">Connection refused</em> ise servis gerçekten çalışmıyor demektir. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://support.plesk.com/hc/en-us/articles/15456789107223-Unable-to-access-Plesk-panel-ERROR-500-Plesk-Exception-Database-SQLSTATE-HY000-2002-Connection-refused?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">support.plesk.com</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://saviorhost.com/blog/500-pleskexceptiondatabase-hatasi-sqlstate-2002-kesin-cozum-rehberi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Hosting’te En Sık Hatalar ve Çözüm Akışları (cPanel • Plesk • CWP)</title>
		<link>https://saviorhost.com/blog/hosting-hatalari-cozum-cpanel-plesk-cwp/</link>
					<comments>https://saviorhost.com/blog/hosting-hatalari-cozum-cpanel-plesk-cwp/#respond</comments>
		
		<dc:creator><![CDATA[admincim]]></dc:creator>
		<pubDate>Wed, 08 Oct 2025 10:05:59 +0000</pubDate>
				<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Centos Web Panel]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Seo]]></category>
		<category><![CDATA[WHM/Cpanel]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://saviorhost.com/blog/?p=2135</guid>

					<description><![CDATA[Hosting’te en sık hatalar ve çözüm akışları: DNS, SSL/AutoSSL, 5xx, PHP limitleri, e-posta teslimi ve performans. cPanel, Plesk ve CWP için adım adım panel yolları ve komutlar.]]></description>
										<content:encoded><![CDATA[<p><strong>Özet (TL;DR):</strong> İlk 5 dakikada logları kontrol et → DNS kayıtlarını doğrula (A/AAAA, MX) → AutoSSL/Let’s Encrypt’i yenile → PHP limitlerini (upload/post/execution) güncelle → e-posta doğrulamalarını (SPF/DKIM/DMARC) tamamla. Plesk’te tıkanırsan <code>plesk repair all</code>; CWP’de AutoSSL ve PHP loglarını birlikte izle.</p>
<p>&nbsp;</p>
<h2 id="ilk-5-dakikalik-teshis">İlk 5 Dakikalık Teşhis</h2>
<ol>
<li><strong>Hata kayıtları:</strong> cPanel: <em>Metrics → Errors</em>; Plesk: alan adında <em>Logs</em>; CWP: HTTPD/Nginx, PHP, AutoSSL ve servis log’ları.</li>
<li><strong>DNS kontrolü:</strong> A/AAAA, MX, TXT (SPF/DKIM/DMARC)</li>
<li><strong>SSL/AutoSSL:</strong> Let’s Encrypt’i yenile; <strong>80/TCP</strong> erişilebilir olmalı (HTTP-01 doğrulaması).</li>
<li><strong>PHP limitleri:</strong> <code>upload_max_filesize</code> + <code>post_max_size</code> + <code>max_execution_time</code></li>
<li><strong>Mail teslimi:</strong> SPF/DKIM/DMARC + rDNS(PTR)</li>
</ol>
<h2 id="dns-alan-adi-hatalari">DNS / Alan Adı Hataları</h2>
<p><strong>Belirti:</strong> Site bazı bölgelerde açılıyor/hiç açılmıyor, e-postalar gelmiyor.</p>
<p><strong>Panel yolları:</strong> cPanel: <em>Domains → Zone Editor</em>; Plesk: <em>Websites &amp; Domains → DNS Settings</em>; CWP: <em>DNS Functions</em>.</p>
<pre><code>dig +short example.com A
dig +short example.com AAAA
dig +short example.com MX
dig +short NS example.com
</code></pre>
<p><em>Not:</em> NS değişiminde TTL/propagasyon 24–48 saat sürebilir.</p>
<h2 id="ssl-tls-https-ve-autossl">SSL/TLS (HTTPS) ve AutoSSL</h2>
<p><strong>Belirti:</strong> “Not secure”, “expired”, “hostname mismatch”, LE başarısız.<br />
<strong>Kritik:</strong> Let’s Encrypt <strong>HTTP-01</strong> yalnızca <strong>80/TCP</strong>’ten doğrular.</p>
<ul>
<li>cPanel/WHM: <strong>AutoSSL</strong> (sağlayıcı: Let’s Encrypt)</li>
<li>Plesk: <strong>Let’s Encrypt / SSL It!</strong> (site + mail + Plesk arayüzü)</li>
<li>CWP: Loglar → <code>/var/log/cwp/autossl.log</code>, <code>/root/.acme.sh/acme.sh.log</code></li>
</ul>
<p><strong>Öneri:</strong> HTTP→HTTPS yönlendirmesi kalsın; fakat <code>.well-known/acme-challenge</code> dosyalarına 80’den erişim bozulmasın.</p>
<pre><code>echo | openssl s_client -servername example.com -connect example.com:443 2&gt;/dev/null | openssl x509 -noout -issuer -subject -dates
</code></pre>
<h2 id="web-sunucusu-uygulama-hatalari-500-502-503-504">Web Sunucusu &amp; Uygulama Hataları (500/502/503/504)</h2>
<p><strong>İzlenecek yol:</strong> cPanel <em>Errors</em> → ip</p>
]]></content:encoded>
					
					<wfw:commentRss>https://saviorhost.com/blog/hosting-hatalari-cozum-cpanel-plesk-cwp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>🛡️ Paylaşımlı (Shared) Hosting Kullananlar İçin Pratik Güvenlik Rehberi</title>
		<link>https://saviorhost.com/blog/%f0%9f%9b%a1%ef%b8%8f-paylasimli-shared-hosting-kullananlar-icin-pratik-guvenlik-rehberi/</link>
					<comments>https://saviorhost.com/blog/%f0%9f%9b%a1%ef%b8%8f-paylasimli-shared-hosting-kullananlar-icin-pratik-guvenlik-rehberi/#respond</comments>
		
		<dc:creator><![CDATA[admincim]]></dc:creator>
		<pubDate>Tue, 07 Oct 2025 10:36:06 +0000</pubDate>
				<category><![CDATA[Centos Web Panel]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[WHM/Cpanel]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://saviorhost.com/blog/?p=2130</guid>

					<description><![CDATA[10 adımda daha güvenli site + cPanel ve WordPress üzerinden uygulanabilir çözümler

Kime göre? Yeni–orta seviye kullanıcı, WordPress ağırlıklı, paylaşımlı hosting kullananlar.
Amaç: Hızlı uygulanan, hatayı çözen, arama niyeti yüksek konularla organik trafik toplamak.]]></description>
										<content:encoded><![CDATA[<p data-start="400" data-end="486"><strong data-start="400" data-end="486">10 adımda daha güvenli site + cPanel ve WordPress üzerinden uygulanabilir çözümler</strong></p>
<blockquote data-start="488" data-end="689">
<p data-start="490" data-end="689"><strong data-start="490" data-end="504">Kime göre?</strong> Yeni–orta seviye kullanıcı, WordPress ağırlıklı, paylaşımlı hosting kullananlar.<br data-start="585" data-end="588" /><strong data-start="590" data-end="599">Amaç:</strong> Hızlı uygulanan, hatayı çözen, arama niyeti yüksek konularla <strong data-start="661" data-end="679">organik trafik</strong> toplamak.</p>
</blockquote>
<hr data-start="691" data-end="694" />
<h2 data-start="696" data-end="742" id="%f0%9f%94%8d-neden-paylasimli-hostta-guvenlik-kritik">🔍 Neden paylaşımlı hostta güvenlik kritik?</h2>
<p data-start="743" data-end="1043">Aynı fiziksel sunucuda birçok site bir aradadır. İzolasyon zafiyetleri, <strong data-start="815" data-end="832">log dosyaları</strong> üzerinden bilgi sızdırma (<em data-start="859" data-end="873">log snooping</em>) ve <strong data-start="878" data-end="895">log zehirleme</strong> (<em data-start="897" data-end="912">log poisoning</em>) gibi saldırı yüzeyleri doğurabilir. Bu yüzden temel korumalar + doğru yapılandırma şarttır. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://arxiv.org/abs/1811.00923?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">arXiv</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
<hr data-start="1045" data-end="1048" />
<h2 data-start="1050" data-end="1119" id="1-%f0%9f%a7%b1-modsecurity-waf-acik-mi-cpanel-%e2%86%92-security-%e2%86%92-modsecurity">1) 🧱 ModSecurity (WAF) açık mı? (cPanel → Security → ModSecurity)</h2>
<p data-start="1120" data-end="1417"><strong data-start="1120" data-end="1134">Ne sağlar?</strong> HTTP isteklerini imza/kurallarla filtreleyip yaygın web saldırılarını kırpar. cPanel’de her domain için aç/kapat yapılabilir; erişemiyorsan sağlayıcından etkinleştirmesini iste. <strong data-start="1313" data-end="1325">Kurallar</strong> için en yaygın set <strong data-start="1345" data-end="1374">OWASP Core Rule Set (CRS)</strong>’tir. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.cpanel.net/cpanel/security/modsecurity/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">cPanel &amp; WHM Documentation</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
<p data-start="1419" data-end="1615"><strong data-start="1419" data-end="1429">İpucu:</strong> WAF bazen yanlış pozitif üretebilir. Gerekirse alan adına özel kural istisnası veya geçici kapatma ile test edebilirsin (kalıcı kapatma önerilmez). <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.cpanel.net/cpanel/security/modsecurity/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">cPanel &amp; WHM Documentation</span></span></span></a></span></span></p>
<hr data-start="1617" data-end="1620" />
<h2 data-start="1622" data-end="1662" id="2-%f0%9f%94%92-https-zorunlu-mumkunse-hsts">2) 🔒 HTTPS zorunlu + (mümkünse) HSTS</h2>
<p data-start="1663" data-end="1881">Trafiği şifreleyen <strong data-start="1682" data-end="1691">HTTPS</strong> hem güvenlik hem de SEO tarafında <strong data-start="1726" data-end="1750">onaylı bir sinyaldir</strong>. Sertifikan yoksa kur; varsa <strong data-start="1780" data-end="1794">HTTP→HTTPS</strong> yönlendirmesini zorunlu kıl ve HSTS değerlendir. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developers.google.com/search/blog/2014/08/https-as-ranking-signal?hl=tr&amp;utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Google for Developers</span></span></span></a></span></span></p>
<hr data-start="1883" data-end="1886" />
<h2 data-start="1888" data-end="1939" id="3-%f0%9f%a7%b0-dosya-klasor-izinlerini-duzelt-wordpress">3) 🧰 Dosya/klasör izinlerini düzelt (WordPress)</h2>
<p data-start="1940" data-end="1959"><strong data-start="1940" data-end="1957">Genel pratik:</strong></p>
<ul data-start="1960" data-end="2186">
<li data-start="1960" data-end="1983">
<p data-start="1962" data-end="1983"><strong data-start="1962" data-end="1975">Dosyalar:</strong> <code data-start="1976" data-end="1981">644</code></p>
</li>
<li data-start="1984" data-end="2186">
<p data-start="1986" data-end="2186"><strong data-start="1986" data-end="2000">Klasörler:</strong> <code data-start="2001" data-end="2006">755</code><br data-start="2006" data-end="2009" />Bu kombinasyon, çoğu WordPress kurulumunda güvenli/çalışır denge sunar. Ayrıntılı izin rehberi için resmi geliştirici dokümantasyonuna bak. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developer.wordpress.org/advanced-administration/server/file-permissions/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">WordPress Developer Resources</span></span></span></a></span></span></p>
</li>
</ul>
<hr data-start="2188" data-end="2191" />
<h2 data-start="2193" data-end="2231" id="4-%f0%9f%a7%be-htaccess-ile-hizli-korumalar">4) 🧾 .htaccess ile hızlı korumalar</h2>
<p data-start="2233" data-end="2265"><strong data-start="2233" data-end="2263">a) Dizin listelemeyi kapat</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-apache"># public_html veya kök .htaccess<br />
Options -Indexes<br />
</code></div>
</div>
<p data-start="2330" data-end="2468">Bu, klasör içeriğinin listelenmesini durdurur; uygulanabilirliği <strong data-start="2395" data-end="2412">AllowOverride</strong> ayarına bağlıdır. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://httpd.apache.org/docs/current/howto/htaccess.html?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Apache HTTP Server</span></span></span></a></span></span></p>
<p data-start="2470" data-end="2509"><strong data-start="2470" data-end="2507">b) Hassas dosyaları web’den gizle</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-apache">&lt;FilesMatch "\.(env|ini|log|bak|sql|swp|conf)$"&gt;<br />
  Require all denied<br />
&lt;/FilesMatch&gt;<br />
</code></div>
</div>
<p data-start="2608" data-end="2749">Apache 2.4’te <code data-start="2622" data-end="2642">Require all denied</code> ile eşleşen dosyalar doğrudan sunulmaz. (Yine AllowOverride önemli.) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://httpd.apache.org/docs/2.4/sections.html?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Apache HTTP Server</span></span></span></a></span></span></p>
<blockquote data-start="2751" data-end="2983">
<p data-start="2753" data-end="2983"><strong data-start="2753" data-end="2761">Not:</strong> .htaccess her ortamda her direktifi çalıştırmayabilir; sunucu yapılandırması belirleyicidir. (Apache, .htaccess’in nasıl ve ne zaman kullanılması gerektiğini resmi kılavuzda anlatır.) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://httpd.apache.org/docs/current/howto/htaccess.html?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Apache HTTP Server</span></span></span></a></span></span></p>
</blockquote>
<hr data-start="2985" data-end="2988" />
<h2 data-start="2990" data-end="3028" id="5-%f0%9f%94%90-sftp-ssh-kullan-ftpyi-birak">5) 🔐 SFTP/SSH kullan; FTP’yi bırak</h2>
<p data-start="3029" data-end="3224"><strong data-start="3029" data-end="3036">FTP</strong> veriyi ve parolaları <strong data-start="3058" data-end="3074">şifrelemeden</strong> taşır. <strong data-start="3082" data-end="3094">SFTP/SSH</strong> ile güvenli kanaldan aktarım yap. WordPress güvenlik kılavuzları da <strong data-start="3163" data-end="3178">SSH/SFTP’yi</strong> önerir. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developer.wordpress.org/advanced-administration/security/hardening/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">WordPress Developer Resources</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
<hr data-start="3226" data-end="3229" />
<h2 data-start="3231" data-end="3289" id="6-%f0%9f%a7%a9-php-tarafinda-sinirlandirma-mumkun-olan-yerde">6) 🧩 PHP tarafında “sınırlandırma” (mümkün olan yerde)</h2>
<ul data-start="3291" data-end="3691">
<li data-start="3291" data-end="3496">
<p data-start="3293" data-end="3496"><strong data-start="3293" data-end="3311"><code data-start="3295" data-end="3309">open_basedir</code></strong>: PHP’nin erişebileceği dizinleri <strong data-start="3345" data-end="3357">sınırlar</strong> (siteler arası dolaşmayı önlemeye yardım eder). Etkinleştirme şekli hosting ortamına göre değişir. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://www.php.net/manual/en/ini.core.php?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">php.net</span></span></span></a></span></span></p>
</li>
<li data-start="3497" data-end="3691">
<p data-start="3499" data-end="3691"><strong data-start="3499" data-end="3522"><code data-start="3501" data-end="3520">disable_functions</code></strong>: <code data-start="3524" data-end="3530">exec</code>, <code data-start="3532" data-end="3544">shell_exec</code>, <code data-start="3546" data-end="3554">system</code> gibi <strong data-start="3560" data-end="3584">riskli fonksiyonları</strong> devre dışı bırakır (destek/etki PHP sürümü ve handler’a bağlıdır). <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://www.php.net/manual/tr/ini.core.php?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">php.net</span></span></span></a></span></span></p>
</li>
</ul>
<p data-start="3693" data-end="3926"><strong data-start="3693" data-end="3723">cPanel’de nereden bakarım?</strong> <code data-start="3724" data-end="3745">MultiPHP INI Editor</code> üzerinden alan adına tanımlı, <strong data-start="3776" data-end="3800">panelin izin verdiği</strong> yönergeleri düzenleyebilirsin. (Bazı direktifler paylaşımlı hostta kilitli olabilir.) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.cpanel.net/cpanel/security/modsecurity/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">cPanel &amp; WHM Documentation</span></span></span></a></span></span></p>
<hr data-start="3928" data-end="3931" />
<h2 data-start="3933" data-end="3994" id="7-%f0%9f%92%be-yedeklemeyi-otomatige-bagla-geri-yuklemeyi-test-et">7) 💾 Yedeklemeyi otomatiğe bağla + geri yüklemeyi test et</h2>
<p data-start="3995" data-end="4228">cPanel <strong data-start="4002" data-end="4019">Backup Wizard</strong> ile <strong data-start="4024" data-end="4031">tam</strong> veya <strong data-start="4037" data-end="4046">kısmi</strong> yedek alabilir, ihtiyaçta geri yükleyebilirsin. Gerçekten işe yarayıp yaramadığını <strong data-start="4130" data-end="4147">en az bir kez</strong> küçük bir geri yükleme testiyle doğrula. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.cpanel.net/cpanel/files/backup-wizard/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">cPanel &amp; WHM Documentation</span></span></span></a></span></span></p>
<hr data-start="4230" data-end="4233" />
<h2 data-start="4235" data-end="4289" id="8-%f0%9f%9a%80-cdn-ekle-temel-hiz-saldiri-yuzeyi-azaltma">8) 🚀 CDN ekle (temel hız + saldırı yüzeyi azaltma)</h2>
<p data-start="4290" data-end="4555">CDN; içeriği kullanıcıya yakın POP’lardan ileterek <strong data-start="4341" data-end="4355">performans</strong> ve <strong data-start="4359" data-end="4378">erişilebilirlik</strong> kazandırır; çoğu CDN aynı zamanda temel DDoS/WAF katmanı da sunar. Başlangıç planları genelde yeterlidir. (Seçim marka bağımsız.) <em data-start="4510" data-end="4555">(Genel ilkedir; ürün isimleri değişebilir.)</em></p>
<hr data-start="4557" data-end="4560" />
<h2 data-start="4562" data-end="4603" id="9-%f0%9f%a7%b9-eklenti-tema-hijyeni-wordpress">9) 🧹 Eklenti/tema hijyeni (WordPress)</h2>
<ul data-start="4604" data-end="4873">
<li data-start="4604" data-end="4655">
<p data-start="4606" data-end="4655">Sadece <strong data-start="4613" data-end="4639">güvenilir kaynaklardan</strong> tema/eklenti.</p>
</li>
<li data-start="4656" data-end="4718">
<p data-start="4658" data-end="4718">Güncellemeleri geciktirme (major öncesinde mutlaka yedek).</p>
</li>
<li data-start="4719" data-end="4873">
<p data-start="4721" data-end="4873">Kullanmadıklarını <strong data-start="4739" data-end="4746">sil</strong> (pasif bırakma).<br data-start="4763" data-end="4766" />Bu tavsiyeler WordPress güvenlik kılavuzlarında temel başlıklardır. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developer.wordpress.org/advanced-administration/security/hardening/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">WordPress Developer Resources</span></span></span></a></span></span></p>
</li>
</ul>
<hr data-start="4875" data-end="4878" />
<h2 data-start="4880" data-end="4911" id="10-%f0%9f%91%80-izleme-ve-log-bilinci">10) 👀 İzleme ve log bilinci</h2>
<p data-start="4912" data-end="5164">Erişim/hatâ loglarını düzenli kontrol et (403, 404 patlamaları, sıra dışı POST istekleri). Paylaşımlı hostta <strong data-start="5021" data-end="5039">log izolasyonu</strong> yoksa risk büyür; sağlayıcından <strong data-start="5072" data-end="5114">her alan adının loglarının ayrıldığını</strong> teyit et. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://arxiv.org/abs/1811.00923?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">arXiv</span></span></span></a></span></span></p>
<hr data-start="5166" data-end="5169" />
<h2 data-start="5171" data-end="5210" id="%e2%9c%85-30-dakikalik-hizli-kontrol-listesi">✅ 30 Dakikalık Hızlı Kontrol Listesi</h2>
<ol data-start="5212" data-end="6118">
<li data-start="5212" data-end="5343">
<p data-start="5215" data-end="5343"><strong data-start="5215" data-end="5230">ModSecurity</strong>: cPanel → <em data-start="5241" data-end="5265">Security → ModSecurity</em> → <strong data-start="5268" data-end="5274">On</strong>. (Her domaini kontrol et.) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.cpanel.net/cpanel/security/modsecurity/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">cPanel &amp; WHM Documentation</span></span></span></a></span></span></p>
</li>
<li data-start="5344" data-end="5474">
<p data-start="5347" data-end="5474"><strong data-start="5347" data-end="5356">HTTPS</strong>: Sertifika kurulu mu? <strong data-start="5379" data-end="5393">HTTP→HTTPS</strong> yönlendirme aktif mi? (SEO + güvenlik) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developers.google.com/search/blog/2014/08/https-as-ranking-signal?hl=tr&amp;utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Google for Developers</span></span></span></a></span></span></p>
</li>
<li data-start="5475" data-end="5660">
<p data-start="5478" data-end="5494"><strong data-start="5478" data-end="5491">.htaccess</strong>:</p>
<ul data-start="5498" data-end="5660">
<li data-start="5498" data-end="5566">
<p data-start="5500" data-end="5566"><code data-start="5500" data-end="5518">Options -Indexes</code> ekle. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://httpd.apache.org/docs/current/howto/htaccess.html?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Apache HTTP Server</span></span></span></a></span></span></p>
</li>
<li data-start="5570" data-end="5660">
<p data-start="5572" data-end="5660"><code data-start="5572" data-end="5584">FilesMatch</code> ile <code data-start="5589" data-end="5605">.env/.ini/.log</code> vb. engelle. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://httpd.apache.org/docs/2.4/sections.html?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Apache HTTP Server</span></span></span></a></span></span></p>
</li>
</ul>
</li>
<li data-start="5661" data-end="5779">
<p data-start="5664" data-end="5779"><strong data-start="5664" data-end="5675">İzinler</strong>: Dosyalar <code data-start="5686" data-end="5691">644</code>, klasörler <code data-start="5703" data-end="5708">755</code> mi? (WordPress resmî kaynak) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developer.wordpress.org/advanced-administration/server/file-permissions/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">WordPress Developer Resources</span></span></span></a></span></span></p>
</li>
<li data-start="5780" data-end="5862">
<p data-start="5783" data-end="5862"><strong data-start="5783" data-end="5791">SFTP</strong>: FTP yerine SFTP/SSH kullan. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://www.wordfence.com/learn/how-to-harden-wordpress-sites/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">wordfence.com</span></span></span></a></span></span></p>
</li>
<li data-start="5863" data-end="5989">
<p data-start="5866" data-end="5989"><strong data-start="5866" data-end="5883">PHP sınırları</strong>: (Varsa) <code data-start="5893" data-end="5907">open_basedir</code> ve <code data-start="5911" data-end="5930">disable_functions</code> durumunu incele. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://www.php.net/manual/en/ini.core.php?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">php.net</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
<li data-start="5990" data-end="6118">
<p data-start="5993" data-end="6118"><strong data-start="5993" data-end="6002">Yedek</strong>: cPanel Backup Wizard ile kısmi yedek al; küçük bir geri yükleme testi yap. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.cpanel.net/cpanel/files/backup-wizard/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">cPanel &amp; WHM Documentation</span></span></span></a></span></span></p>
</li>
</ol>
<hr data-start="6120" data-end="6123" />
<h2 data-start="6125" data-end="6178" id="%f0%9f%a7%aa-sik-karsilasilan-mini-sorunlar-hizli-cozumler">🧪 Sık karşılaşılan mini sorunlar &amp; hızlı çözümler</h2>
<p data-start="6180" data-end="6398"><strong data-start="6180" data-end="6226">“Dizinlerim listeleniyor, herkes görüyor!”</strong><br data-start="6226" data-end="6229" /><code data-start="6229" data-end="6240">.htaccess</code> dosyana <code data-start="6249" data-end="6267">Options -Indexes</code> ekle; sonuç görmüyorsan sunucuda <strong data-start="6301" data-end="6318">AllowOverride</strong> kısıtlı olabilir (destekle kontrol et). <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://httpd.apache.org/docs/current/howto/htaccess.html?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Apache HTTP Server</span></span></span></a></span></span></p>
<p data-start="6400" data-end="6629"><strong data-start="6400" data-end="6435">“WAF kapatınca hızlanır mıyım?”</strong><br data-start="6435" data-end="6438" />Genelde <strong data-start="6446" data-end="6457">kapatma</strong>; ModSecurity + <strong data-start="6473" data-end="6486">OWASP CRS</strong> yaygın saldırıları daha başta kırpar. Hata yaşıyorsan kural istisnası veya domain bazlı ince ayar yap. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.cpanel.net/cpanel/security/modsecurity/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">cPanel &amp; WHM Documentation</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
<p data-start="6631" data-end="6748"><strong data-start="6631" data-end="6652">“FTP güvenli mi?”</strong><br data-start="6652" data-end="6655" />Hayır, parolalar şifresiz gider. <strong data-start="6688" data-end="6700">SFTP/SSH</strong> kullan. <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://www.wordfence.com/learn/how-to-harden-wordpress-sites/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">wordfence.com</span></span></span></a></span></span></p>
<hr data-start="6750" data-end="6753" />
<h2 data-start="6755" data-end="6794" id="%f0%9f%93%8e-kod-sablonlari-kopyala-yapistir">📎 Kod şablonları (kopyala–yapıştır)</h2>
<p data-start="6796" data-end="6862"><strong data-start="6796" data-end="6862">.htaccess – Dizin listelemeyi kapat + hassas dosyaları engelle</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-apache"># 1) Dizin listeleme kapalı<br />
Options -Indexes</p>
<p># 2) Hassas uzantıları engelle<br />
&lt;FilesMatch "\.(env|ini|log|bak|sql|swp|conf)$"&gt;<br />
  Require all denied<br />
&lt;/FilesMatch&gt;<br />
</code></div>
</div>
<p data-start="7038" data-end="7146">(Apache 2.4 söz dizimi; AllowOverride = All değilse çalışmayabilir.) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://httpd.apache.org/docs/2.4/sections.html?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Apache HTTP Server</span></span></span></a></span></span></p>
<p data-start="7148" data-end="7191"><strong data-start="7148" data-end="7189">wp-content/uploads için örnek izinler</strong></p>
<ul data-start="7192" data-end="7271">
<li data-start="7192" data-end="7212">
<p data-start="7194" data-end="7212">Klasörler: <code data-start="7205" data-end="7210">755</code></p>
</li>
<li data-start="7213" data-end="7271">
<p data-start="7215" data-end="7271">Dosyalar: <code data-start="7225" data-end="7230">644</code> <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developer.wordpress.org/advanced-administration/server/file-permissions/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">WordPress Developer Resources</span></span></span></a></span></span></p>
</li>
</ul>
<hr data-start="7273" data-end="7276" />
<h2 data-start="7278" data-end="7319" id="%f0%9f%93%9a-kaynaklar-guvenilir-dokumantasyon">📚 Kaynaklar (Güvenilir dokümantasyon)</h2>
<ul data-start="7320" data-end="8084">
<li data-start="7320" data-end="7431">
<p data-start="7322" data-end="7431"><strong data-start="7322" data-end="7389">cPanel – ModSecurity (kullanıcı arayüzü &amp; WHM kurulumu notları)</strong> <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.cpanel.net/cpanel/security/modsecurity/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">cPanel &amp; WHM Documentation</span></span></span></a></span></span></p>
</li>
<li data-start="7432" data-end="7521">
<p data-start="7434" data-end="7521"><strong data-start="7434" data-end="7479">OWASP Core Rule Set (CRS) – proje sayfası</strong> <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://owasp.org/www-project-modsecurity-core-rule-set/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">owasp.org</span></span></span></a></span></span></p>
</li>
<li data-start="7522" data-end="7624">
<p data-start="7524" data-end="7624"><strong data-start="7524" data-end="7582">Google – “HTTPS bir sıralama sinyali” duyurusu (resmî)</strong> <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developers.google.com/search/blog/2014/08/https-as-ranking-signal?hl=tr&amp;utm_source=chatgpt.com" target="_blank" rel="noopener nofollow"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Google for Developers</span></span></span></a></span></span></p>
</li>
<li data-start="7625" data-end="7709">
<p data-start="7627" data-end="7709"><strong data-start="7627" data-end="7667">WordPress Developer – Dosya izinleri</strong> <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developer.wordpress.org/advanced-administration/server/file-permissions/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">WordPress Developer Resources</span></span></span></a></span></span></p>
</li>
<li data-start="7710" data-end="7780">
<p data-start="7712" data-end="7780"><strong data-start="7712" data-end="7738">cPanel – Backup Wizard</strong> <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://docs.cpanel.net/cpanel/files/backup-wizard/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">cPanel &amp; WHM Documentation</span></span></span></a></span></span></p>
</li>
<li data-start="7781" data-end="7875">
<p data-start="7783" data-end="7875"><strong data-start="7783" data-end="7833">WordPress Hardening (SSH/SFTP önerileri dahil)</strong> <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://developer.wordpress.org/advanced-administration/security/hardening/?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between overflow-hidden"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">WordPress Developer Resources</span></span></span></a></span></span></p>
</li>
<li data-start="7876" data-end="7968">
<p data-start="7878" data-end="7968"><strong data-start="7878" data-end="7926">Apache – .htaccess ve yapılandırma bölümleri</strong> <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://httpd.apache.org/docs/current/howto/htaccess.html?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">Apache HTTP Server</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
<li data-start="7969" data-end="8084">
<p data-start="7971" data-end="8084"><strong data-start="7971" data-end="7983">Akademik</strong> – Paylaşımlı hosting’te log saldırıları (snooping/poisoning) <span class="" data-state="closed"><span class="ms-1 inline-flex max-w-full items-center relative top-[-0.094rem] animate-[show_150ms_ease-in]" data-testid="webpage-citation-pill"><a class="flex h-4.5 overflow-hidden rounded-xl px-2 text-[9px] font-medium transition-colors duration-150 ease-in-out text-token-text-secondary! bg-[#F4F4F4]! dark:bg-[#303030]!" href="https://arxiv.org/abs/1811.00923?utm_source=saviorhost.com" target="_blank" rel="noopener"><span class="relative start-0 bottom-0 flex h-full w-full items-center"><span class="flex h-4 w-full items-center justify-between"><span class="max-w-[15ch] grow truncate overflow-hidden text-center">arXiv</span><span class="-me-1 flex h-full items-center rounded-full px-1 text-[#8F8F8F]">+1</span></span></span></a></span></span></p>
</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://saviorhost.com/blog/%f0%9f%9b%a1%ef%b8%8f-paylasimli-shared-hosting-kullananlar-icin-pratik-guvenlik-rehberi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>yum update &#8211;nobest: Linux Sunucularda Güncelleme Sorunlarına Pratik Çözüm</title>
		<link>https://saviorhost.com/blog/yum-update-nobest-linux-sunucularda-guncelleme-sorunlarina-pratik-cozum/</link>
					<comments>https://saviorhost.com/blog/yum-update-nobest-linux-sunucularda-guncelleme-sorunlarina-pratik-cozum/#respond</comments>
		
		<dc:creator><![CDATA[admincim]]></dc:creator>
		<pubDate>Thu, 04 Sep 2025 08:56:11 +0000</pubDate>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Centos 7]]></category>
		<category><![CDATA[Centos Web Panel]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Nginx]]></category>
		<guid isPermaLink="false">https://saviorhost.com/blog/?p=2088</guid>

					<description><![CDATA[yum update --nobest Nedir? Linux sistemlerinde paket yönetimi sırasında bazen güncelleme hatalarıyla karşılaşabilirsiniz. Özellikle CentOS, AlmaLinux, Rocky Linux gibi RHEL...]]></description>
										<content:encoded><![CDATA[<h2 data-start="661" data-end="694" id="yum-update-nobest-nedir"><code data-start="664" data-end="685">yum update --nobest</code> Nedir?</h2>
<p data-start="696" data-end="970">Linux sistemlerinde paket yönetimi sırasında bazen güncelleme hatalarıyla karşılaşabilirsiniz. Özellikle CentOS, AlmaLinux, Rocky Linux gibi RHEL tabanlı dağıtımlarda kullanılan <strong data-start="874" data-end="881">yum</strong> paket yöneticisi, en güncel sürümleri yüklemek ister. Ancak bu her zaman mümkün olmaz.</p>
<p data-start="972" data-end="1085">İşte bu durumda <code data-start="988" data-end="1009">yum update --nobest</code>, <strong data-start="1011" data-end="1068">uyumlu sürümlere güncelleme yaparak hataları aşmanıza</strong> yardımcı olur.</p>
<hr data-start="1087" data-end="1090" />
<h2 data-start="1092" data-end="1138" id="normal-yum-update-neden-hata-verebilir">Normal <code data-start="1102" data-end="1114">yum update</code> Neden Hata Verebilir?</h2>
<p data-start="1140" data-end="1169">Standart güncelleme komutu:</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">sudo yum update<br />
</code></div>
</div>
<p data-start="1202" data-end="1272">Bu komut en güncel paketleri kurmaya çalışır. Ancak bazı durumlarda:</p>
<ul data-start="1274" data-end="1423">
<li data-start="1274" data-end="1338">
<p data-start="1276" data-end="1338"><strong data-start="1276" data-end="1300">Bağımlılık sorunları</strong> (dependency conflicts) yaşanabilir.</p>
</li>
<li data-start="1339" data-end="1375">
<p data-start="1341" data-end="1375">Yeni sürüm <strong data-start="1352" data-end="1363">uyumsuz</strong> olabilir.</p>
</li>
<li data-start="1376" data-end="1423">
<p data-start="1378" data-end="1423">Üretim ortamında <strong data-start="1395" data-end="1408">stabilite</strong> bozulabilir.</p>
</li>
</ul>
<p data-start="1425" data-end="1446">Örnek hata çıktısı:</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre!"><span class="hljs-attr">Error: Package:</span> <span class="hljs-string">xyz-3.0.1-1.el8.x86_64</span> <span class="hljs-string">(updates)</span><br />
           <span class="hljs-attr">Requires:</span> <span class="hljs-string">libabc</span> <span class="hljs-string">&gt;=</span> <span class="hljs-number">2.0</span><br />
           <span class="hljs-attr">Installed:</span> <span class="hljs-string">libabc-1.9-1.el8.x86_64</span> <span class="hljs-string">(@base)</span><br />
</code></div>
</div>
<hr data-start="1597" data-end="1600" />
<h2 data-start="1602" data-end="1638" id="yum-update-nobest-ile-cozum"><code data-start="1605" data-end="1626">yum update --nobest</code> ile Çözüm</h2>
<p data-start="1640" data-end="1648">Komut:</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">sudo yum update --nobest<br />
</code></div>
</div>
<p data-start="1690" data-end="1715">Bu parametre sayesinde:</p>
<ul data-start="1717" data-end="1834">
<li data-start="1717" data-end="1758">
<p data-start="1719" data-end="1758"><strong data-start="1719" data-end="1756">En güncel sürüm zorunlu tutulmaz.</strong></p>
</li>
<li data-start="1759" data-end="1798">
<p data-start="1761" data-end="1798">Uyumlu olan en uygun sürüm seçilir.</p>
</li>
<li data-start="1799" data-end="1834">
<p data-start="1801" data-end="1834">Güncellemeler tamamen kesilmez.</p>
</li>
</ul>
<hr data-start="1836" data-end="1839" />
<h2 data-start="1841" data-end="1866" id="kullanim-senaryolari">Kullanım Senaryoları</h2>
<h3 data-start="1868" data-end="1897" id="1-uretim-sunucularinda">1. Üretim Sunucularında</h3>
<p data-start="1898" data-end="2004">En güncel sürüm bağımlılık hatası verirse, <code data-start="1941" data-end="1951">--nobest</code> sayesinde bir alt ama stabil sürüm kullanılabilir.</p>
<h3 data-start="2006" data-end="2035" id="2-gelistirme-ortaminda">2. Geliştirme Ortamında</h3>
<p data-start="2036" data-end="2147">Yeni teknolojiler denerken tüm sistem güncellemeleri sırasında çıkabilecek hatalar <code data-start="2119" data-end="2129">--nobest</code> ile aşılabilir.</p>
<hr data-start="2149" data-end="2152" />
<h2 data-start="2154" data-end="2170" id="avantajlari">Avantajları</h2>
<ul data-start="2172" data-end="2289">
<li data-start="2172" data-end="2212">
<p data-start="2174" data-end="2212">✅ Güncellemeler tamamen engellenmez.</p>
</li>
<li data-start="2213" data-end="2252">
<p data-start="2215" data-end="2252">✅ Daha <strong data-start="2222" data-end="2231">esnek</strong> güncelleme sağlar.</p>
</li>
<li data-start="2253" data-end="2289">
<p data-start="2255" data-end="2289">✅ Bağımlılık hatalarını azaltır.</p>
</li>
</ul>
<hr data-start="2291" data-end="2294" />
<h2 data-start="2296" data-end="2315" id="dezavantajlari">Dezavantajları</h2>
<ul data-start="2317" data-end="2455">
<li data-start="2317" data-end="2367">
<p data-start="2319" data-end="2367">⚠️ Sistem her zaman <strong data-start="2339" data-end="2352">en güncel</strong> olmayabilir.</p>
</li>
<li data-start="2368" data-end="2405">
<p data-start="2370" data-end="2405">⚠️ Güvenlik yamaları gecikebilir.</p>
</li>
<li data-start="2406" data-end="2455">
<p data-start="2408" data-end="2455">⚠️ Uzun vadede uyumluluk sorunları çıkabilir.</p>
</li>
</ul>
<hr data-start="2457" data-end="2460" />
<h2 data-start="2462" data-end="2472" id="sonuc">Sonuç</h2>
<p data-start="2474" data-end="2658"><code data-start="2474" data-end="2495">yum update --nobest</code>, <strong data-start="2497" data-end="2580">Linux güncellemelerinde bağımlılık hatalarını çözmek için pratik bir yöntemdir.</strong> Ancak güvenlik ve uzun vadeli uyumluluk açısından dikkatli kullanılmalıdır.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://saviorhost.com/blog/yum-update-nobest-linux-sunucularda-guncelleme-sorunlarina-pratik-cozum/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CWP Roundcube 1.5.11 Kurulumu: Adım Adım Güncelleme Rehberi</title>
		<link>https://saviorhost.com/blog/cwp-roundcube-1-5-11-kurulumu-adim-adim-guncelleme-rehberi/</link>
					<comments>https://saviorhost.com/blog/cwp-roundcube-1-5-11-kurulumu-adim-adim-guncelleme-rehberi/#respond</comments>
		
		<dc:creator><![CDATA[admincim]]></dc:creator>
		<pubDate>Mon, 01 Sep 2025 12:23:57 +0000</pubDate>
				<category><![CDATA[Centos Web Panel]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<guid isPermaLink="false">https://saviorhost.com/blog/?p=2074</guid>

					<description><![CDATA[📬 CWP Üzerine Roundcube 1.5.11 – Modern, Güvenli ve Güncel E-posta yönetimi bir sunucu panelinin omurgasıdır. CentOS Web Panel (CWP)...]]></description>
										<content:encoded><![CDATA[<h1 data-start="485" data-end="550" id="%f0%9f%93%ac-cwp-uzerine-roundcube-1-5-11-modern-guvenli-ve-guncel">📬 CWP Üzerine <strong data-start="502" data-end="522">Roundcube 1.5.11</strong> – Modern, Güvenli ve Güncel</h1>
<p data-start="552" data-end="785">E-posta yönetimi bir sunucu panelinin omurgasıdır. <strong data-start="603" data-end="629">CentOS Web Panel (CWP)</strong> üzerinde eski Roundcube sürümleri güvenlik riski oluşturabilir. Bu rehberde, <strong data-start="707" data-end="727">Roundcube 1.5.11</strong> sürümüne adım adım ve güvenle yükseltmeyi anlatıyoruz. 🚀</p>
<hr data-start="787" data-end="790" />
<h2 data-start="792" data-end="811" id="%f0%9f%94%92-neden-1-5-11">🔒 Neden 1.5.11?</h2>
<p data-start="813" data-end="1069">CWP’nin varsayılan Roundcube sürümü çoğu kurulumda eski kalabiliyor. <strong data-start="882" data-end="891">1.5.x</strong> serisi; güvenlik yamaları, uyumluluk ve daha iyi eklenti desteğiyle öne çıkıyor.<br data-start="972" data-end="975" /><strong data-start="975" data-end="985">1.5.11</strong>, 1.5 hattındaki en güncel ve kararlı sürümlerden biri olduğu için tavsiye edilir. ✅</p>
<hr data-start="1071" data-end="1074" />
<h2 data-start="1076" data-end="1110" id="%f0%9f%a7%ad-asamalar-adim-adim-kurulum">🧭 Aşamalar – Adım Adım Kurulum</h2>
<h3 data-start="1112" data-end="1158" id="1-intl-php-eklentisini-kur-gerekirse-%f0%9f%a7%a9">1) INTL PHP Eklentisini Kur (Gerekirse) 🧩</h3>
<p data-start="1160" data-end="1252">Sunucunda <code data-start="1170" data-end="1176">intl</code> eklentisi yoksa, aşağıdaki komutlarla (EL7/EL8) kurulumu tamamlayabilirsin:</p>
<p data-start="1254" data-end="1273"><strong data-start="1254" data-end="1273">CentOS 7 / EL7:</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">yum update ca-certificates -y<br />
rpm -ivh https://github.com/mysterydata/md-disk/raw/main/libicu69-69.1-4.el7.x86_64.rpm<br />
curl -s -L https://www.saviorhost.com/blog/Dosyalar/cwp_rc_fix.sh | bash<br />
</code></div>
</div>
<p data-start="1478" data-end="1497"><strong data-start="1478" data-end="1497">CentOS 8 / EL8:</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">dnf update ca-certificates -y<br />
rpm -ivh https://github.com/mysterydata/md-disk/raw/main/libicu69-69.1-4.el8.x86_64.rpm<br />
curl -s -L https://www.saviorhost.com/blog/Dosyalar/el8/cwp_rc_fix_el8.sh | bash<br />
</code></div>
</div>
<p data-start="1710" data-end="1723"><strong data-start="1710" data-end="1723">Kaldırma:</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">curl -s -L https://www.saviorhost.com/blog/Dosyalar/cwp_rc_fix_remove.sh | bash<br />
</code></div>
</div>
<hr data-start="1817" data-end="1820" />
<h3 data-start="1822" data-end="1863" id="2-roundcube-1-5-11-paketini-indir-%e2%ac%87%ef%b8%8f">2) Roundcube 1.5.11 Paketini İndir ⬇️</h3>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">wget https://github.com/roundcube/roundcubemail/releases/download/1.5.11/roundcubemail-1.5.11-complete.tar.gz<br />
</code></div>
</div>
<hr data-start="1987" data-end="1990" />
<h3 data-start="1992" data-end="2043" id="3-paketi-ac-ve-kurulum-scriptini-calistir-%f0%9f%9b%a0%ef%b8%8f">3) Paketi Aç ve Kurulum Script&#8217;ini Çalıştır 🛠️</h3>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">tar -xvzf roundcubemail-1.5.11-complete.tar.gz<br />
<span class="hljs-built_in">cd</span> roundcubemail-1.5.11<br />
bin/installto.sh /usr/local/cwpsrv/var/services/roundcube<br />
</code></div>
</div>
<p data-start="2186" data-end="2230">Kurulum sırasında ekranda şunu göreceksiniz:</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre!">Upgrading <span class="hljs-keyword">from</span> <span class="hljs-number">1.4</span>.<span class="hljs-number">11</span>. <span class="hljs-keyword">Do</span> you want <span class="hljs-keyword">to</span> <span class="hljs-keyword">continue</span>? (y/N)<br />
</code></div>
</div>
<p data-start="2295" data-end="2364">Burada <strong data-start="2302" data-end="2307">y</strong> tuşuna basarak devam edin. Ardından şu çıktılar gelecek:</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre!">Running update script at target...<br />
Executing database schema update.<br />
Updating database schema (2020020100)... [OK]<br />
Updating database schema (2020020101)... [OK]<br />
Updating database schema (2020091000)... [OK]<br />
Updating database schema (2020122900)... [OK]<br />
This instance of Roundcube is up-to-date.<br />
Have fun!<br />
All done.<br />
</code></div>
</div>
<hr data-start="2495" data-end="2498" />
<h3 data-start="2500" data-end="2518" id="4-temizlik-%f0%9f%a7%b9">4) Temizlik 🧹</h3>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash"><span class="hljs-built_in">cd</span> ..<br />
<span class="hljs-built_in">rm</span> -rf roundcubemail-1.5.11-complete.tar.gz roundcubemail-1.5.11<br />
</code></div>
</div>
<p data-start="2603" data-end="2727">ℹ️ Çoğu sistemde dosya izinleri CWP tarafından otomatik ayarlanır; ayrıca <code data-start="2677" data-end="2684">chown</code> veya <code data-start="2690" data-end="2697">chmod</code> girmenize gerek kalmayabilir.</p>
<hr data-start="2729" data-end="2732" />
<h3 data-start="2734" data-end="2777" id="5-test-et-ve-servisi-yeniden-baslat-%f0%9f%94%81">5) Test Et ve Servisi Yeniden Başlat 🔁</h3>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">sh /scripts/restart_cwpsrv<br />
</code></div>
</div>
<p data-start="2818" data-end="2845">Çıktı şu şekilde olacaktır:</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre!"><span class="hljs-selector-tag">Stopping</span> <span class="hljs-selector-tag">cwpsrv</span>:                                     <span class="hljs-selector-attr">[  OK  ]</span><br />
<span class="hljs-selector-tag">Starting</span> <span class="hljs-selector-tag">cwpsrv</span>:                                     <span class="hljs-selector-attr">[  OK  ]</span><br />
</code></div>
</div>
<hr data-start="2980" data-end="2983" />
<h2 data-start="2985" data-end="3002" id="%f0%9f%a7%aa-komut-ozeti">🧪 Komut Özeti</h2>
<div class="_tableContainer_1rjym_1">
<div class="_tableWrapper_1rjym_13 group flex w-fit flex-col-reverse" tabindex="-1">
<table class="w-fit min-w-(--thread-content-width)" data-start="3004" data-end="3375">
<thead data-start="3004" data-end="3033">
<tr data-start="3004" data-end="3033">
<th data-start="3004" data-end="3024" data-col-size="sm">Aşama</th>
<th data-start="3024" data-end="3033" data-col-size="md">Komut</th>
</tr>
</thead>
<tbody data-start="3064" data-end="3375">
<tr data-start="3064" data-end="3152">
<td data-start="3064" data-end="3084" data-col-size="sm">INTL kurulumu</td>
<td data-start="3084" data-end="3143" data-col-size="md">`curl -s -L <a class="decorated-link" href="https://www.saviorhost.com/blog/Dosyalar/?utm_source=chatgpt.com" target="_new" rel="noopener" data-start="3098" data-end="3139">https://www.saviorhost.com/blog/Dosyalar/</a>&#8230;</td>
</tr>
<tr data-start="3153" data-end="3209">
<td data-start="3153" data-end="3173" data-col-size="sm">İndirme</td>
<td data-start="3173" data-end="3209" data-col-size="md"><code data-start="3175" data-end="3207">wget ...1.5.11-complete.tar.gz</code></td>
</tr>
<tr data-start="3210" data-end="3285">
<td data-start="3210" data-end="3230" data-col-size="sm">Kurulum</td>
<td data-start="3230" data-end="3285" data-col-size="md"><code data-start="3232" data-end="3264">bin/installto.sh .../roundcube</code> → <strong data-start="3267" data-end="3272">y</strong> ile onayla</td>
</tr>
<tr data-start="3286" data-end="3322">
<td data-start="3286" data-end="3306" data-col-size="sm">Temizlik</td>
<td data-start="3306" data-end="3322" data-col-size="md"><code data-start="3308" data-end="3320">rm -rf ...</code></td>
</tr>
<tr data-start="3323" data-end="3375">
<td data-start="3323" data-end="3343" data-col-size="sm">Servis yenileme</td>
<td data-start="3343" data-end="3375" data-col-size="md"><code data-start="3345" data-end="3373">sh /scripts/restart_cwpsrv</code></td>
</tr>
</tbody>
</table>
</div>
</div>
<hr data-start="3377" data-end="3380" />
<h2 data-start="3382" data-end="3392" id="%e2%9c%85-sonuc">✅ Sonuç</h2>
<ul data-start="3394" data-end="3672">
<li data-start="3394" data-end="3466">
<p data-start="3396" data-end="3466">CWP üzerinde mevcut Roundcube sürümü genellikle <strong data-start="3444" data-end="3453">1.4.x</strong> gibi eski.</p>
</li>
<li data-start="3467" data-end="3520">
<p data-start="3469" data-end="3520"><strong data-start="3469" data-end="3479">1.5.11</strong>, en güncel güvenlik yamalarını içerir.</p>
</li>
<li data-start="3521" data-end="3601">
<p data-start="3523" data-end="3601">Kurulum sırasında <strong data-start="3541" data-end="3546">y</strong> onayını vermeyi unutmazsanız süreç sorunsuz ilerler.</p>
</li>
<li data-start="3602" data-end="3672">
<p data-start="3604" data-end="3672">Olası hatalarda <code data-start="3620" data-end="3636">restart_cwpsrv</code> komutu çoğu zaman çözüm sağlar. ✨</p>
</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://saviorhost.com/blog/cwp-roundcube-1-5-11-kurulumu-adim-adim-guncelleme-rehberi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Snuffleupagus ile PHP Güvenliği: Adım Adım Kurulum Rehberi ve Avantajları (2025)</title>
		<link>https://saviorhost.com/blog/snuffleupagus-ile-php-guvenligi-adim-adim-kurulum-rehberi-ve-avantajlari-2025/</link>
					<comments>https://saviorhost.com/blog/snuffleupagus-ile-php-guvenligi-adim-adim-kurulum-rehberi-ve-avantajlari-2025/#respond</comments>
		
		<dc:creator><![CDATA[admincim]]></dc:creator>
		<pubDate>Wed, 06 Aug 2025 13:57:48 +0000</pubDate>
				<category><![CDATA[Güvenlik]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://saviorhost.com/blog/?p=2044</guid>

					<description><![CDATA[PHP tabanlı web siteleri ve uygulamalar, popülerlikleri sayesinde siber saldırıların da odak noktası haline gelmiştir. Bu nedenle güçlü bir PHP...]]></description>
										<content:encoded><![CDATA[<p data-start="723" data-end="1168">PHP tabanlı web siteleri ve uygulamalar, popülerlikleri sayesinde siber saldırıların da odak noktası haline gelmiştir. Bu nedenle <strong data-start="853" data-end="886">güçlü bir PHP güvenlik önlemi</strong> almak, özellikle hosting sağlayıcılar ve web geliştiriciler için büyük önem taşır.<br data-start="969" data-end="972" />Snuffleupagus, PHP için geliştirilmiş, modern ve çok güçlü bir güvenlik eklentisidir. Bu makalede Snuffleupagus’un ne olduğunu, nasıl kurulduğunu ve sağladığı avantajları adım adım bulabilirsiniz.</p>
<hr data-start="1170" data-end="1173" />
<h2 data-start="1175" data-end="1198" id="snuffleupagus-nedir">Snuffleupagus Nedir?</h2>
<p data-start="1200" data-end="1505">Snuffleupagus, PHP için geliştirilen açık kaynak kodlu bir güvenlik modülüdür. PHP kodunun davranışını kısıtlar, zararlı işlemleri engeller ve potansiyel saldırılara karşı sitenizi korur.<br data-start="1387" data-end="1390" /><strong data-start="1390" data-end="1426">ModSecurity gibi WAF çözümlerine</strong> ek olarak çalışabilir ve özellikle 0-day saldırılarına karşı ek koruma sağlar.</p>
<h3 data-start="1507" data-end="1528" id="temel-ozellikleri">Temel Özellikleri</h3>
<ul data-start="1529" data-end="1654">
<li data-start="1529" data-end="1574">
<p data-start="1531" data-end="1574">Gerçek zamanlı güvenlik politikası uygulama</p>
</li>
<li data-start="1575" data-end="1623">
<p data-start="1577" data-end="1623">Exploit ve zafiyetlere karşı otomatik önlemler</p>
</li>
<li data-start="1624" data-end="1654">
<p data-start="1626" data-end="1654">Detaylı raporlama ve loglama</p>
</li>
</ul>
<hr data-start="1656" data-end="1659" />
<h2 data-start="1661" data-end="1698" id="snuffleupagus-kurulumu-adim-adim">Snuffleupagus Kurulumu (Adım Adım)</h2>
<h3 data-start="1700" data-end="1728" id="1-sunucu-gereksinimleri">1. Sunucu Gereksinimleri</h3>
<ul data-start="1730" data-end="1811">
<li data-start="1730" data-end="1747">
<p data-start="1732" data-end="1747">PHP 7.0 ve üstü</p>
</li>
<li data-start="1748" data-end="1811">
<p data-start="1750" data-end="1811">Linux tabanlı bir hosting/sunucu (Ubuntu, CentOS, Debian vb.)</p>
</li>
</ul>
<h3 data-start="1813" data-end="1843" id="2-snuffleupagusu-yukleme">2. Snuffleupagus’u Yükleme</h3>
<p data-start="1845" data-end="1871"><strong data-start="1845" data-end="1871">A. Ubuntu/Debian için:</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">bash</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">sudo apt-get update<br />
sudo apt-get install php-dev gcc make git<br />
git <span class="hljs-built_in">clone</span> https://github.com/jvoisin/snuffleupagus.git<br />
<span class="hljs-built_in">cd</span> snuffleupagus<br />
make<br />
sudo make install<br />
</code></div>
</div>
<p data-start="2042" data-end="2066"><strong data-start="2042" data-end="2066">B. CentOS/RHEL için:</strong></p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">bash</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">sudo yum install php-devel gcc make git<br />
git <span class="hljs-built_in">clone</span> https://github.com/jvoisin/snuffleupagus.git<br />
<span class="hljs-built_in">cd</span> snuffleupagus<br />
make<br />
sudo make install<br />
</code></div>
</div>
<h3 data-start="2215" data-end="2241" id="3-phpye-entegre-etme">3. PHP’ye Entegre Etme</h3>
<p data-start="2243" data-end="2299">Kurulumdan sonra, <code data-start="2261" data-end="2270">php.ini</code> dosyanıza şu satırı ekleyin:</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">ini</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre!"><span class="hljs-attr">extension</span>=snuffleupagus.so<br />
</code></div>
</div>
<p data-start="2335" data-end="2376">Ardından Apache/Nginx’i yeniden başlatın:</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">bash</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">sudo systemctl restart apache2<br />
<span class="hljs-comment"># veya</span><br />
sudo systemctl restart nginx<br />
</code></div>
</div>
<h3 data-start="2457" data-end="2501" id="4-temel-guvenlik-politikalari-olusturma"><img decoding="async" class=" wp-image-2046 alignleft" src="https://saviorhost.com/blog/wp-content/uploads/2025/08/ChatGPT-Image-6-Agu-2025-16_54_54-300x200.png" alt="" width="257" height="171" srcset="https://saviorhost.com/blog/wp-content/uploads/2025/08/ChatGPT-Image-6-Agu-2025-16_54_54-300x200.png 300w, https://saviorhost.com/blog/wp-content/uploads/2025/08/ChatGPT-Image-6-Agu-2025-16_54_54-1024x683.png 1024w, https://saviorhost.com/blog/wp-content/uploads/2025/08/ChatGPT-Image-6-Agu-2025-16_54_54-768x512.png 768w, https://saviorhost.com/blog/wp-content/uploads/2025/08/ChatGPT-Image-6-Agu-2025-16_54_54-600x400.png 600w, https://saviorhost.com/blog/wp-content/uploads/2025/08/ChatGPT-Image-6-Agu-2025-16_54_54-1200x800.png 1200w, https://saviorhost.com/blog/wp-content/uploads/2025/08/ChatGPT-Image-6-Agu-2025-16_54_54.png 1536w" sizes="(max-width: 257px) 100vw, 257px" />4. Temel Güvenlik Politikaları Oluşturma</h3>
<p data-start="2503" data-end="2567">Snuffleupagus, politika dosyalarıyla yönetilir. Basit bir örnek:</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="flex items-center text-token-text-secondary px-4 py-2 text-xs font-sans justify-between h-9 bg-token-sidebar-surface-primary select-none rounded-t-2xl">arduino</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre!">sp.<span class="hljs-built_in">disable_function</span>(<span class="hljs-string">"exec"</span>);<br />
sp.<span class="hljs-built_in">disable_function</span>(<span class="hljs-string">"shell_exec"</span>);<br />
</code></div>
</div>
<p data-start="2640" data-end="2702">Böylece PHP’de en tehlikeli fonksiyonlar devre dışı bırakılır.</p>
<hr data-start="2704" data-end="2707" />
<h2 data-start="2709" data-end="2749" id="snuffleupagusun-sagladigi-avantajlar">Snuffleupagus’un Sağladığı Avantajlar</h2>
<ul data-start="2751" data-end="3012">
<li data-start="2751" data-end="2796">
<p data-start="2753" data-end="2796"><strong data-start="2753" data-end="2794">0-day Exploitlere karşı yüksek koruma</strong></p>
</li>
<li data-start="2797" data-end="2871">
<p data-start="2799" data-end="2871">Hangi PHP fonksiyonlarının çalışıp çalışamayacağını kolayca kontrol etme</p>
</li>
<li data-start="2872" data-end="2908">
<p data-start="2874" data-end="2908">Detaylı loglama ve saldırı tespiti</p>
</li>
<li data-start="2909" data-end="2953">
<p data-start="2911" data-end="2953">Performans kaybı olmadan maksimum güvenlik</p>
</li>
<li data-start="2954" data-end="3012">
<p data-start="2956" data-end="3012">Sunucuda paylaşımlı siteler için ekstra güvenlik katmanı</p>
</li>
</ul>
<hr data-start="3014" data-end="3017" />
<h2 data-start="3019" data-end="3043" id="sikca-sorulan-sorular">Sıkça Sorulan Sorular</h2>
<h3 data-start="3045" data-end="3098" id="snuffleupagus-modsecuritynin-yerini-tutar-mi">Snuffleupagus, ModSecurity’nin yerini tutar mı?</h3>
<p data-start="3099" data-end="3231">Hayır, ModSecurity WAF seviyesinde koruma sağlarken Snuffleupagus, PHP’ye özel koruma katmanı ekler. Birlikte kullanılması önerilir.</p>
<h3 data-start="3233" data-end="3278" id="paylasimli-hostingde-kullanilabilir-mi">Paylaşımlı hostingde kullanılabilir mi?</h3>
<p data-start="3279" data-end="3335">Sunucu yönetimi sizdeyse ve root erişiminiz varsa, evet!</p>
<hr data-start="3337" data-end="3340" />
<h2 data-start="3342" data-end="3350" id="sonuc">Sonuç</h2>
<p data-start="3352" data-end="3553">Gelişen saldırı yöntemlerine karşı <strong data-start="3387" data-end="3404">Snuffleupagus</strong> kullanmak, PHP siteleriniz için ek bir güvenlik zırhı sağlar. Özellikle hosting şirketleri, ajanslar ve kurumsal siteler için önerilen bir çözümdür.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://saviorhost.com/blog/snuffleupagus-ile-php-guvenligi-adim-adim-kurulum-rehberi-ve-avantajlari-2025/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CentOS 9 Şifrelerini Sıfırlama: Adım Adım Rehber</title>
		<link>https://saviorhost.com/blog/centos-9-sifrelerini-sifirlama-adim-adim-rehber/</link>
					<comments>https://saviorhost.com/blog/centos-9-sifrelerini-sifirlama-adim-adim-rehber/#respond</comments>
		
		<dc:creator><![CDATA[admincim]]></dc:creator>
		<pubDate>Tue, 08 Oct 2024 07:21:26 +0000</pubDate>
				<category><![CDATA[Güvenlik]]></category>
		<guid isPermaLink="false">https://saviorhost.com/centos-9-sifrelerini-sifirlama-adim-adim-rehber/</guid>

					<description><![CDATA[CentOS 9 işletim sistemi üzerinde zaman zaman şifre unutulmaları ya da güvenlik sebepleriyle şifre sıfırlamaları gerekebilir. Sistem yöneticileri ya da...]]></description>
										<content:encoded><![CDATA[<p><iframe width='560' height='315' style="display: block; margin: auto; padding:10px" src='https://www.youtube.com/embed/RJtV4-6v-Ak' frameborder='0' allowfullscreen></iframe> </p>
<p>CentOS 9 işletim sistemi üzerinde zaman zaman şifre unutulmaları ya da güvenlik sebepleriyle şifre sıfırlamaları gerekebilir. Sistem yöneticileri ya da kullanıcılar bu tür durumlarla karşılaştığında, işlemi doğru bir şekilde gerçekleştirmek önemlidir. Burada <strong>adım adım CentOS 9 Şifre sıfırlama</strong> işlemine nasıl başlayabileceğinizden ve nelere dikkat etmeniz gerektiğinden bahsedeceğiz. İster tecrübeli bir sistem yöneticisi olun, ister bu alanda yeni olun, bu rehber şifre sıfırlama işleminizi kolaylaştıracak. Bu süreçte izlenecek doğru adımlar, hem sistem güvenliğinizi koruyacak hem de kullanıcılara erişilebilir bir çözüm sunacaktır.</p>
<h3 id="ana-noktalar">Ana Noktalar</h3>
<ol>
<li>CentOS 9&#8217;da şifre sıfırlama önemlidir ve dikkat gerektirir.</li>
<li>Doğru adımlarla şifre sıfırlama işlemi basitleşir.</li>
<li>Sistem güvenliğini sağlamak için doğru yöntemler uygulanmalıdır.</li>
</ol>
<h2 id="linux-kullanici-hesaplarinin-parola-guvenligi">Linux Kullanıcı Hesaplarının Parola Güvenliği</h2>
<p>Parola güvenliği, Linux kullanıcı hesapları için kritik bir konudur. Parola yönetimi zayıf olduğunda, sistemler kötü niyetli saldırılara karşı savunmasız hale gelir. O yüzden dikkatli olunması ve adımların doğru atılması önemlidir. Örneğin, genel parolalardan kaçınmak gerekir. Ayrıca, düzenli aralıklarla parolaları yenilemek önemlidir. Ne var ki, bazı adımlar karmaşık gelebilir. Bu nedenle, rehber niteliğinde bir <strong>Centos 9 Şifre sıfırlama adım adım</strong> süreci hazırlamak yararlı olabilir.</p>
<h3 id="centos-9-icin-sifre-sifirlama-rehberi">Centos 9 İçin Şifre Sıfırlama Rehberi</h3>
<ol>
<li>Grub Kurtarma Modu: Bilgisayarı açarken GRUB menüsünde &#8216;e&#8217; tuşuna basın.</li>
<li>kernal satırını bulun: &#8216;ro&#8217; ifadesini &#8216;rw init=/sysroot/bin/sh&#8217; ile değiştirin.</li>
<li>Tek Kullanıcı Moduna Geçiş: Bu işlemden sonra <code>Ctrl+x</code> veya <code>F10</code> tuşuna basarak boot edin.</li>
<li>Chroot Ortamı: <code>chroot /sysroot</code> komutunu çalıştırın.</li>
<li>Parolayı Değiştir: <code>passwd</code> komutunu kullanarak şifrenizi değiştirin.</li>
<li>Selinux Etkinleştirme: <code>touch /.autorelabel</code> komutu çalıştırarak yeniden başlatmayı sağlayın.</li>
<li>Sistemi Yeniden Başlatma: <code>reboot</code> komutu ile sistemi açın.</li>
</ol>
<p><strong>Centos 9 şifre sıfırlama rehberi</strong>, karmaşık görünse de adımlar dikkatle uygulanmalıdır. Özellikle, güvenli parola oluşturulması, kullanıcı hesaplarının koruma altında olmasını sağlar. Buna göre, dikkatli ve planlı hareket etmek önem kazanır.</p>
<h2 id="grub-menu-uzerinden-kurtarma-moduna-erisim">Grub Menü Üzerinden Kurtarma Moduna Erişim</h2>
<p>Komut satırında, el yordamıyla müdahale gerektiren bir işlem düşünün: <strong>adım adım Centos 9 Şifre sıfırlama işlemi</strong>. Teknolojik sistemlerin karışıklığında kaybolmak sizi şaşırtabilir; lakin, bazen karmaşıklık bir düğmeye basmak kadar kolaydır. Başlangıçta kurtarma moduna ulaşabilmek için Grub menüsüne erişmeniz şart. Grub menüsüne erişebildiğinizde, kurtarma modu kayıtları arasında kendinizi kaybolmuş hissetmeniz mümkün. Ancak size iyi haber; kararlı bir yönlendirme için Grub üzerinden adımları takip edeceksiniz. Bir yol haritası düşünün: <strong>Centos 9 Şifre sıfırlama nasıl yapılır</strong> aşaması. Bu aşamada, belirli komutlar sizi yolunuza çıkarabilir veya çıkmaz sokaklara sürükleyebilir. Yanlış bir adım sizi eski dosya derinliklerine sürüklüyor gibi görünse de, doğru komutlar ile istenilene ulaşmak mümkündür. Kurtarma komutları arasında gezinirken kaybolmayın; çünkü uygun adımlar sizi güvenli bir çıkışa götürebilir. Özellikle şifre sıfırlama sürecine odaklanın ve dikkatlice devam edin. <strong>Adım adım Centos 9 Şifre sıfırlama yöntemi</strong> ile bu işlem düşündüğünüz kadar zor olmayacak!</p>
<h2 id="root-parolasini-sifirlama-adimlari">Root Parolasını Sıfırlama Adımları</h2>
<p>Root parolanızı, kimi zaman unutabiliyoruz, değil mi? Bu gibi durumlarda, özellikle <strong>CentOS 9</strong> üzerinde şifre sıfırlama adımları işinize yarayacaktır. İlk adımda sistemi yeniden başlatın ve boot menüsüne erişin. Menüde, kurtarma modunu tercih edebilirsiniz. Lâkin, burada dikkatli olun: Yanlış bir seçim süreci zorlaştırabilir. Bu aşamada, root erişimleri düzenlemek için komut satırını kullanmak gerekebilir. Terminalde, sırayla gerekli komutları girin ve yeni parolanızı belirleyin.</p>
<h3 id="nihai-sonuc">Nihai Sonuç</h3>
<p>Tüm adımları dikkatlice izlediğinizde, başarıyla root parolanızı sıfırlamış olacaksınız. Ancak, adımları harfiyen takip etmek önem arz ediyor. Garip gelebilir ama bazı adımlar karmaşık görünebilir. İşin sonunda, <strong>şifre sıfırlama</strong> işlemlerinin başarılı şekilde tamamlanması, sistem üzerinde yönetim kontrolünü yeniden ele almak için kritik rol oynayacaktır.</p>
<h2 id="ihtiyac-duyabileceginiz-komutlar-ve-duzeltmeler">İhtiyaç Duyabileceğiniz Komutlar ve Düzeltmeler</h2>
<p>
  Günlük hayatın koşturmacasında, <strong>beklenmedik</strong> aksaklıklarla karşılaşmak kaçınılmaz olabilir. İşte tam da bu noktada bazı <strong>pratik</strong> komutlar işinizi kolaylaştırabilir. Ancak, çoğu zaman bu komutların da anlaşılması zor olabiliyor. Elinizin altında küçük bir rehber olması kimi zaman işleri oldukça pratik bir hâle getirebilir. Örneğin, &#8220;ctrl + z&#8221; ile yanlış yapılan işlemleri geri alabilirsiniz; fakat her yazılım bu kısayolu desteklemeyebilir. <strong>Etkili</strong> olmak niyetiyle, sürekli güncel kalmak ve farklı durumlara karşı hazırlıklı olmak önemlidir. Aksi takdirde, karmaşıklıkların üstesinden gelmek zorlayıcı olabilir.
</p>
<h2 id="parola-politikalarinin-guclendirilmesi">Parola Politikalarının Güçlendirilmesi</h2>
<p>Günümüzde dijital dünyada gezinirken, <strong>güvenlik</strong> önlemlerinin önemi her geçen gün artıyor. Ancak, birçok insan halen güçlü parolaların ne denli kritik olduğunun farkında değil. Ne yazık ki, basitçe kullandığınız &#8216;123456&#8217; veya &#8216;qwerty&#8217; gibi parolalar, kolayca tahmin edilebilir. Oysa ki, parola politikalarını güçlendirerek, çevrimiçi varlıklarımızı korumak mümkün. Özellikle, karmaşık karakter dizileri kullanmak ve parolaları düzenli olarak değiştirmek bu süreçte hayati rol oynar. Ayrıca, her hesap için aynı parolayı kullanmamak ve iki faktörlü kimlik doğrulama sistemlerini tercih etmek de önemli bir adım olur. <strong>Dijital</strong> varlıklarınızı korumanın en etkili yollarından biri, parola yönetim araçlarını kullanmak. Bu tür araçlar, parolalarınızın güvenliğini artırır ve gerektiğinde onları düzenlemenizi kolaylaştırır. Unutmayın, bir hesaba ulaşmak o kadar da zor değil. Dolayısıyla, <strong>güçlü</strong> ve güncel parolalar kullanmak kritik öneme sahiptir.</p>
<h2 id="sorun-giderme-yaygin-hatalar-ve-cozumleri">Sorun Giderme: Yaygın Hatalar ve Çözümleri</h2>
<p>Sorun gidermede, birçok <strong>yaygın hatayla</strong> karşılaşırsınız; çözümüne ulaşmak karmaşık olabilir. Özellikle bilgisayar sistemlerinde, küçük bir değişiklik büyük problemlere yol açabilir. Bununla birlikte, <strong>doğru teşhis</strong> ve etkili bir çözüm stratejisi geliştirmek kritik öneme sahiptir. Hataların kaynağı bazen basit bir <strong>yazılım güncellemesi</strong> eksikliği olabilir, bazen ise donanımın kendi içindeki bir çelişki olabilir. Oysa, çoğu zaman sadece derin bir nefes almak ve her adıma dikkatlice odaklanmak işleri yoluna koyabilir. Ne var ki yanlış bilgiye dayalı adımlar sorunu daha karmaşık hale getirebilir.</p>
<blockquote><p>&#8220;Gerçek bilgelik, ne kadar az şey bildiğimizi fark etmekle başlar.&#8221; – Sokrates</p></blockquote>
<h3 id="yaygin-hatalar">Yaygın Hatalar</h3>
<table>
<tr>
<th style='border:1px solid black; padding:10px;'>Hata</th>
<th style='border:1px solid black; padding:10px;'>Olası Çözüm</th>
</tr>
<tr>
<td style='border:1px solid black; padding:10px;'>Ağ Bağlantı Sorunları</td>
<td style='border:1px solid black; padding:10px;'>Modemi yeniden başlatın veya kabloları kontrol edin.</td>
</tr>
<tr>
<td style='border:1px solid black; padding:10px;'>Yavaş Bilgisayar</td>
<td style='border:1px solid black; padding:10px;'>Gereksiz dosyaları silmeyi ve yazılım güncellemelerini kontrol etmeyi deneyin.</td>
</tr>
</table>
<p>Özetle, hataları giderirken <strong>sabırlı</strong> olmak ve doğru adımları takip etmek önemlidir. Bu nedenle, daima <strong>doğru bilgi</strong> ve <strong>araçlara</strong> erişim sağlamaya çalışın.</p>
<p><span style=' border-left-style: solid;  border-left-width: medium; padding-left:12px; font-weight:600;'>Bunları da İnceleyebilirsiniz:</span></p>
<p><a href="https://jetdestek.radore.com/server/linux-sunucuda-sifre-sifirlama-islemi-nasil-yapilir." target="_blank" rel="external noopener nofollow" style="color:#3783B2"><u>Linux sunucuda şifre sıfırlama işlemi nasıl yapılır? &#8211; Radore Destek</u></a></p>
<h2 id="sonuc">Sonuç</h2>
<p>Adım adım CentOS 9 şifre sıfırlama sürecini detaylarıyla ele aldığımız bu rehberin sonunda, artık şifre sıfırlamanın ne kadar erişilebilir olduğunu görüyorsunuz. Karmaşık gibi görünen bu adımlar, aslında biraz dikkat ve özenle kolayca aşılabilir. Yine de, her adımı dikkatlice uyguladığınızdan emin olun. Böylece, sistemi güvende tutarken aynı zamanda performansını da en üst seviyede korumuş olursunuz. Teknoloji dünyasında bilgi paylaştıkça değer kazanır, bu rehbere ihtiyacı olabilecek kişilerle paylaşmayı unutmayın. Gelecek yazılarda daha fazla pratik bilgiyle görüşmek üzere, teknolojiyle kalın!</p>
<h2 style='text-align:center;' id="sikca-sorulan-sorular">Sıkça Sorulan Sorular</h2>
<h3 id="centos-9-parolami-unuttum-ne-yapabilirim">CentOS 9 parolamı unuttum, ne yapabilirim?</h3>
<p>CentOS 9 parolanızı unuttuysanız, sisteminizi kurtarma modunda başlatarak parolanızı sıfırlayabilirsiniz. Bunun için sistem açılışında &#8216;grub&#8217; menüsünü açarak &#8216;recovery&#8217; seçeneğini seçin ve süreci takip edin.</p>
<h3 id="centos-9da-parolami-sifirlamak-icin-hangi-araclari-kullanabilirim">CentOS 9&#8217;da parolamı sıfırlamak için hangi araçları kullanabilirim?</h3>
<p>Parolanızı sıfırlamak için tek ihtiyacınız olan şey kurtarma moduna erişimdir. Bash kabuğuna ulaştığınızda &#8216;passwd&#8217; komutunu kullanarak yeni bir parola belirleyebilirsiniz.</p>
<h3 id="parola-sifirlama-islemi-sirasinda-veri-kaybi-yasar-miyim">Parola sıfırlama işlemi sırasında veri kaybı yaşar mıyım?</h3>
<p>Parola sıfırlama işlemi doğrudan kullanıcı verilerini etkilemez. Ancak işlem sırasında dikkatli olmalısınız. Yalnızca gerekli adımları takip ettiğinizden emin olun.</p>
<h3 id="grub-menusune-erisemiyorum-ne-yapmaliyim">Grub menüsüne erişemiyorum, ne yapmalıyım?</h3>
<p>Grub menüsüne erişimde problem yaşıyorsanız, bilgisayarınızı yeniden başlatırken klavyeden &#8216;Esc&#8217; veya &#8216;Shift&#8217; tuşlarını tekrar tekrar basarak grub menüsüne erişmeye çalışın.</p>
<h3 id="centos-9-icin-parola-sifirlama-islemi-diger-linux-dagitimlarindan-farkli-mi">CentOS 9 için parola sıfırlama işlemi diğer Linux dağıtımlarından farklı mı?</h3>
<p>Temel süreç tüm Linux dağıtımlarında benzerdir. Ancak versiyonlar ve dağıtımlar arasında menü ve komut isimlerinde ufak tefek farklılıklar olabilir. CentOS 9 dokümantasyonunu incelemek faydalı olabilir.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://saviorhost.com/blog/centos-9-sifrelerini-sifirlama-adim-adim-rehber/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CWP&#8217;de Log Dosyalarını Temizleme ve Disk Alanı Optimizasyonu: Adım Adım Rehber</title>
		<link>https://saviorhost.com/blog/cwpde-log-dosyalarini-temizleme-ve-disk-alani-optimizasyonu-adim-adim-rehber/</link>
					<comments>https://saviorhost.com/blog/cwpde-log-dosyalarini-temizleme-ve-disk-alani-optimizasyonu-adim-adim-rehber/#respond</comments>
		
		<dc:creator><![CDATA[admincim]]></dc:creator>
		<pubDate>Mon, 30 Sep 2024 07:42:54 +0000</pubDate>
				<category><![CDATA[Centos Web Panel]]></category>
		<category><![CDATA[Güvenlik]]></category>
		<guid isPermaLink="false">https://saviorhost.com/?p=2006</guid>

					<description><![CDATA[CWP (Control Web Panel) üzerinde disk alanı boşaltmak ve log dosyalarını temizlemek, sunucunuzun performansını artırabilir. Aşağıda, log dosyalarını temizleme ve...]]></description>
										<content:encoded><![CDATA[<p>CWP (Control Web Panel) üzerinde disk alanı boşaltmak ve log dosyalarını temizlemek, sunucunuzun performansını artırabilir. Aşağıda, log dosyalarını temizleme ve disk alanını optimize etme adımları özgün bir şekilde anlatılmaktadır:</p>
<h3 id="1-cwpnin-log-temizleme-scriptini-kullanma">1. CWP&#8217;nin Log Temizleme Scriptini Kullanma</h3>
<p>CWP, kendi dahili temizleme scriptine sahiptir. Bu script, log dosyalarını hızlıca temizlemek için kullanılabilir. SSH üzerinden root olarak giriş yapın ve şu komutu çalıştırın:</p>
<div class="dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative">
<div class="sticky top-9 md:top-[5.75rem]">
<div class="absolute bottom-0 right-2 flex h-9 items-center">
<div class="flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">sh /usr/local/cwpsrv/htdocs/resources/scripts/clean_all<br />
</code></div>
</div>
<p>Bu komut, gereksiz log dosyalarını temizleyecek ve disk alanı açacaktır.</p>
<h3 id="2-bash-script-ile-hizli-log-temizleme">2. Bash Script ile Hızlı Log Temizleme</h3>
<p>Eğer kendi scriptinizi oluşturmak istiyorsanız, bash kullanarak basit bir script yazabilirsiniz. SSH terminaline bağlanarak şu adımları izleyin:</p>
<p>Bir bash script oluşturun:</p>
<div class="dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative">
<div class="sticky top-9 md:top-[5.75rem]">
<div class="absolute bottom-0 right-2 flex h-9 items-center">
<div class="flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">nano /root/logtemizle.sh<br />
</code></div>
</div>
<p>İçine aşağıdaki kodları ekleyin:</p>
<div class="dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative">
<div class="sticky top-9 md:top-[5.75rem]">
<div class="absolute bottom-0 right-2 flex h-9 items-center">
<div class="flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash"><span class="hljs-meta">#!/bin/bash</span><br />
<span class="hljs-built_in">rm</span> -f /var/log/*.<span class="hljs-built_in">log</span><br />
<span class="hljs-built_in">rm</span> -f /usr/local/cwpsrv/logs/*.<span class="hljs-built_in">log</span><br />
</code></div>
</div>
<p>Scripti çalıştırılabilir hale getirin:</p>
<div class="dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative">
<div class="sticky top-9 md:top-[5.75rem]">
<div class="absolute bottom-0 right-2 flex h-9 items-center">
<div class="flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash"><span class="hljs-built_in">chmod</span> +x /root/logtemizle.sh<br />
</code></div>
</div>
<p>Scripti çalıştırmak için:</p>
<div class="dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative">
<div class="sticky top-9 md:top-[5.75rem]">
<div class="absolute bottom-0 right-2 flex h-9 items-center">
<div class="flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">sh /root/logtemizle.sh<br />
</code></div>
</div>
<h3 id="3-cron-job-ile-otomatik-temizleme">3. Cron Job ile Otomatik Temizleme</h3>
<p>Disk alanını düzenli olarak temizlemek için cron job oluşturabilirsiniz. Böylece belirlediğiniz periyotlarda loglar otomatik olarak temizlenir. SSH terminalinde cron job eklemek için:</p>
<div class="dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative">
<div class="sticky top-9 md:top-[5.75rem]">
<div class="absolute bottom-0 right-2 flex h-9 items-center">
<div class="flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">crontab -e<br />
</code></div>
</div>
<p>Şu satırı ekleyin (her gece 3:00&#8217;te log temizleme için):</p>
<div class="dark bg-gray-950 contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative">
<div class="sticky top-9 md:top-[5.75rem]">
<div class="absolute bottom-0 right-2 flex h-9 items-center">
<div class="flex items-center rounded bg-token-main-surface-secondary px-2 font-sans text-xs text-token-text-secondary"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-bash">0 3 * * * /root/logtemizle.sh<br />
</code></div>
</div>
<p>Bu yöntemlerle disk alanınızı optimize edebilir, log dosyalarını temizleyerek sunucu performansını artırabilirsiniz.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://saviorhost.com/blog/cwpde-log-dosyalarini-temizleme-ve-disk-alani-optimizasyonu-adim-adim-rehber/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
