Php’de Get ve Post Güvenliği

Yazıya başlamadan öncelikle bir kaç hack yöntemini tanımlayalım;

Sql Injection Nedir ?

Web yazılımlarının en başında ki açık olarak bilinen bu hack yönteminde hacker Get ve Post yöntemlerinizden doğan açıklardan sisteme sızarak sorgunuza müdale edebilir ve veritabanında ciddi hasara yol açabilir.

XSS Nedir ?

Session (oturum) tanımlama ve çağırma aşamasında ki yöntemlerinizde doğan açıklardan hacker sisteminize oturum açmış gibi bağlanabilir ve admin yetkisinin tümüne sahip olabilir.

Nasıl Korunacağız ?

Korunma yollarında kullanacağınız Php fonksiyonlarını listeledim.

[slogan]addslashes fonksiyon[/slogan]

Bu fonksiyon verinin içerisinde yer alan tırnakların önüne \(escape) işareti getirerek tırnağı geçersiz kılar böylelikle Sql Injection açıklarından bir derece kurtulmuş olursunuz.

Kullanımı:

<?php
$veri = "Can Camgöz'ün web günlüğü";
$guvenliveri = addslashes($veri);
?>

 

Bu fonksiyonumuz ise verinin içerisinde yer alan tüm html etiketlerini zararsız hale getirir böylelikle get ve post methoduyla çektiğiniz verilerden javascript ile bulaşan zararlı kodlardan kurtulmuş olursunuz.

not! bu fonksiyonun ‘,”,<,< gibi işaretleri de değiştireceğinden her alanda kullanmamanız gerekir.

Kullanımı:

<?php

$veri = "<Can Camgöz'ün web günlüğü>";

$guvenliveri= htmlspecialchars($veri);

echo $guvenliveri;

?>

Çıktısı:

&lt;Can Camgöz&#039;ün web günlüğü&gt;


Karakterlerin yeni hali:

& (ampersand) karakterini &amp;
(çift tırnak) işaretini &quot;
(tek tırnak) işaretini &#039;
< (küçütür) işaretini &lt;
> (büyüktür) işaretini &gt;

 

[slogan]strip_tags() fonksiyonu[/slogan]

Bu fonksiyonumuz ile html etiketlerinden tamamen kurtulmuş olursunuz.

Kullanım 1:

<?php

$veri = '<b>Can Camgöz'ün web günlüğü</b><a href="http://www.cancmgz.com">site adresi</a>';

$guvenliveri = strip_tags($veri);

echo $guvenliveri;

?>

Çıktısı:

Can Camgöz’ün web günlüğüsite

Kullanım 2: (burada <b></b> etiketlerimize özel izin vermiş bulunuyoruz yani fonksiyon <b></b> etiketlerini silmeyecektir.)

<?php

$veri = '<b>Can Camgöz'ün web günlüğü</b><a href="http://www.cancmgz.com">site adresi</a>';

$guvenliveri = strip_tags($veri, "<b></b>");

echo $guvenliveri;

?>

Çıktısı:

Can Camgöz’ün web günlüğüsite

 

 

[slogan]is_numeric() fonksiyonu[/slogan]

 

İşte olmazsa olmaz bir güvenlik fonksiyonumuz bu fonksiyonumuzda verinin içeriğinin numerik olup olmadığını kontrol ediyoruz.

Kullanımı:

<?php

$veri=52;

if(is_numeric($veri)) {

echo "bu değişken bir sayısal değer taşıyor.";

} else {

echo "bu değişken sayısal değer taşımıyor."; }

?>

Join the ConversationLeave a reply

Your email address will not be published. Required fields are marked *

Comment*

Name*

Website

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

Comment