SQL Acığı Olan Siteyi Güvene Alma

(SQL SALDIRI ENGELEME | SEO UYUMLU SİTE YAPIMI)

Merhaba Arkadaşlar SQL Acığı Nedir Forumda Bilmeyen Yoktur Kısa Kesecem 
SQL Acığı $_GET['id']; 
Fonksiyonu İle Mysql Den Veri Cektiğimizde Ortaya Cıkar
Örnek :

<?php
$id = $_GET['id']; // gelen id değeri
$kayit = mysql_query("SELECT * FROM norslar WHERE id=$id");
?>

Bu Sekilde Olur Genelde Kodlar Arasında Peki Bu Acıkları Nasıl kapatırız.

<?php
$id = $_GET['id']; // gelen id değeri
$id= mysql_real_escape_string($id);
$kayit = mysql_query("SELECT * FROM norslar WHERE id=$id");
?>

Bu sekil tabi Gene Buda Bypass Lana Bilir ikinci İslem İşe .htaccess İle Engeleme URL Değistirme Web Scannerlardan korunma Yapmak Acunetix sqlmap dirbuster gibi Scannerlardan korunmamızı sağlıyor.
.htaccess kodları :

RewriteEngine On


<IfModule mod_rewrite.c>


RewriteCond %{HTTP_USER_AGENT} Acunetix [NC,OR]


RewriteCond %{HTTP_USER_AGENT} dirbuster [NC,OR]

RewriteCond %{HTTP_USER_AGENT} jbrofuzz [NC,OR]

RewriteCond %{HTTP_USER_AGENT} nikto [NC,OR]

RewriteCond %{HTTP_USER_AGENT} webshag [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SF [OR]

RewriteCond %{HTTP_USER_AGENT} nessus [NC,OR]

RewriteCond %{HTTP_USER_AGENT} sqlmap [NC,OR]
RewriteCond %{HTTP_USER_AGENT} fimap [NC,OR]

RewriteCond %{HTTP:Acunetix-Product} ^WVS

RewriteCond %{HTTP_USER_AGENT} whatweb [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Openvas [NC,OR]
RewriteRule ^.* http://127.0.0.1/ [R=301,L]

</IfModule>



SQLMAP Havij Gibi Programları Engelem icin bu Kodlarıda 
.htaccess ekliyelim:

RewriteEngine On


RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC,OR]


RewriteCond %{HTTP_REFERER} ^(.*)(<|>|’|%0A|%0D|’|<|>|).* [NC,OR]

RewriteCond %{REQUEST_URI} ^/(,|;|<|>|/{2,999}).* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^.*(winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner).* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget).* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^.*(<|>|’|%0A|%0D|’|<|>|).* [NC,OR]

RewriteCond %{HTTP_USER_AGENT} ^.*(libwww|curl|wget|python|scan).* [NC,OR]

RewriteCond %{QUERY_STRING} ^.*(localhost|loopback|127\\.0\\.0\\.1).* [NC,OR]

RewriteCond %{HTTP_COOKIE} ^.*(<|>|’|%0A|%0D|’|<|>|).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(<|>|’|%0A|%0D|’|<|>|).* [NC,OR]

RewriteCond %{QUERY_STRING} [^a-z](|order|union|declare|char|set|cast|convert|delete|drop|exec|insert|****|script|select|truncate|update)[^a-z] [NC]


RewriteRule (.*) - [F]

Şimdi İse En Son İşlem Seo Dostu URL Yapacaz Hem Sitemiz Seo Uyumlu Olacak Hemde Sql atacklarında site.com/sayfadetay.php?id=5 yerine site.com/sayfadetay/5/seo-dostu-url-yapimi.htm Sekline getire Biliriz Bu Sayede Daha Güvenli Bir Sisteme Sahip Oluruz ÖNEMLİ: Eğer bu konuda bilgili değilseniz .htaccess dosyanızın bir yedeğini mutlaka alınız.Yoksa web siteniz çalışmaz. PHP sayfalarımızı site.com/sayfadetay.php?id=5 şeklinde $_GET[id] methodu ile çalışaçakmışız gibi kodlayacağız. SEO dostu url mizin okunmasını .htaccess ile sağlayacağız. SEO dostu url yaparken dikkat edilmesi gerekenler. * .htaccess dosyası ile php dosyalarımız aynı klasör içinde olması gerekmekte * web sayfasına eklediğiniz resim ve CSS dosyalarının çalışması için oluşturduğumuz PHP sayfalarının tamamına taginden önce PHP tagleri arasında $base tanımlaması yapılması gerekmekte:

$base = http//:www.site.com/PHPdosyalari; echo $base;

* bu kodu eklemezseniz resimleriniz web sayfasında görüntülenmez * 404 The page cannot be found gibi hata saylalarıda yapmak isterseniz hata sayfalarınızında aynı dizin içinde bulunması gerekmekte * dikkat etmemiz gerken diğer bir konu ise türkçe karakter problemi url mizi Türkçe karakterlerden temizlememiz gerekmektedir, uygun bir kod yapısı oluşturusak Tükçe karakter içeren bir seo dostu url de PHP ye oluşturtabiliriz. url lerdeki Türkçe karakterleri temizleyeceğimiz kod aşağıda *
 Örnek bir .htaccess dosyası verecek olursak;

Options +FollowSymLinks

RewriteEngine On

RewriteBase /PHPdosyalari

ErrorDocument 401 /KlasorAdi/401.php

ErrorDocument 404 /KlasorAdi/404.php

ErrorDocument 403 /KlasorAdi/403.php
ErrorDocument 500 /KlasorAdi/500.php
 

RewriteRule ^sayfa/([0-9]+)/([a-zA-Z0-9]+)/$ sayfadetay.php?id=$1 [NC,QSA,L]   

#sayfa ile başlayan linke tıkladığımızda yapılacak işlemleri ifade ediyor /$1/$2/  karşılık değerleri bu değerler likimiz dorultusunda çoğaltılabilir

RewriteRule ^kategori/([0-9]+)/$ kategori.php?id=$1 [NC,QSA,L]


RewriteRule ^urun/([0-9]+)/([a-zA-Z0-9]+)/$ urundetay.php?id=$1 [NC,QSA,L]


Yazdığımız kodları açıklarsak: RewriteEngine On: Bu komut ile url yönlendirmesini aktif hale getiriyoruz. RewriteBase : Bu komut ile yönlendirmemizin etkili olacağı klasörü belirliyoruz. Örneğin sitemiz www.site.com/PHPdosyalari şeklinde bir dizinde ise kod yapımız RewriteBase /PHPdosyalari şeklinde olacaktır. RewriteRule : Bu komut yönlendirmeyi gerçekleştirecek komutumuzdur. Hangi adresin hangi adrese yönleneceğini bu komut ile belirlenir.

Bu yazıyı sitenizde/forumunuzda paylaşmak için aşağıdaki linkleri kullanabilirsiniz..




Scorpiol


Yorum Gönderme

0 Yorumlar