bildirgec.org

php hakkında tüm yazılar

Php güvenlik araçları

rhymes | 06 May 2010 14:57

php, open source olmasının yanısıra çok geniş bir yapıya sahip olması bazı projelerde güvenlik açıklarına sebep olabilmektedir. bu açıkların genel anlamda bir kısmını biliyoruz bilmediklerimiz içinse, bu amaca hizmet eden araçlar işimize yarayabilmektedir. işte onlardan birkaçı;

PhpSecInfo

php güvenliği için çok yararlı olan bu araç detaylı raporlar sunmakta. Eğer hatalar var ise bu hataların nasıl düzeltilebileceğine dair bilgiler de veriyor.

Php İle Gerçek IP Adresini Bulma

admin | 06 May 2010 12:48

Uzun zamandır kullandığım ve sonuçlarından memnun kaldığım bir php fonksiyonunu sizlerle paylaşmak istedim. Php ile script yazmaya başlayanların oldukça işine yarayacağından eminim.
Fonksiyonumuz kullanıcının modeminin servis sağlayıcısından aldığı gerçek ip adresini göstermektedir. Hatta şirket hatlarında kullanılan 10.10.114.xxx veya 192.168.xxx.xxx tarzı ip adresletini bile göstermektedir. İnternet camiasında proxy denen meretten kurtulmanın yolu hiçbir zaman olmadığı gibi bunda da yoktur sanırım ama yine de fonksiyonun sonuçları tatmin edici durumda.
Fonksyion Kodumuz :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function GetIP(){
if(getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
if (strstr($ip, ',')) {
$tmp = explode (',', $ip);
$ip = trim($tmp[0]);
}
} else {
$ip = getenv("REMOTE_ADDR");
}
return $ip;
}

Kullanım Örneği :
Göreceğiniz gibi fonksiyon içinde yapılan çeşitli kontrollerde sonuçlar hep $ip değişkenine atanmış durumda. Yapacağınız şey sadece $ip değişkenini çağırmaktan geçiyor. Buyrun size örnek :
Fonksiyonu üst tarafa yazdıktan sonra alttaki kodu yazmak yeterlidir.

1
$simdiki_ip = GetIP();

Bir de çağırdığımız ip adresiyle alakalı bir kontrol örneği verelim :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$simdiki_ip = GetIP();
// IP adresini aldık...
if (empty($simdiki_ip))
// IP adresi boşsa bir mesaj yazıp scriptimizi durduracağız, kullanıcıyı sayfamıza almayacağız.
{
exit ("IP Adresiniz Alınamadı.<br><br><br>
Lütfen IP Adresinizin kontrol edilebilir ve/veya görünebilir olmasını sağlayınız.<br><br><br>
Aksi taktirde Randevu Sistemimize girişinize izin verilmeyecektir.<br><br><br>
<b><font color=#FF0000>ÇÖZÜM :</font></b> Bu sorunun çözümü için kullandığınız Anti-Virus/Firewall programınızın ayarlarına bakın,<br>
veya<br>
Bilgi İşlem Yetkilinize danışınız.<br><br><br>
<a href=\"javascript:history.back()\" target=\"_self\">Geri Dön</a>");
}else{
echo "IP Adresiniz : $simdiki_ip";
}

Gördüğünüz gibi önce ip adresini aldık, sonra php empty komutu ile ip adresi boşsa exit ile scripti durdurup, kullanıcıya durumu bildirdik. IP adresi doluysa adresi yazdırıp, kullanıcının yoluna gitmesini sağladık.

php ile oturum tanımlarken ilave güvenlik

admin | 06 May 2010 11:48

php ile kod çalışıkren, güvenlik için sessionlara güvenmek de belli bir yere kadardır.

Session tanımlerken kendi güvenliğimizi de düşünmemiz lazım. Çünkü Apache sunucu her bir kişi için tek oturum tutar. Bunun anlamı aynı ip den giren kişi her sunucuya tek bir oturumla girer. Bu durumda oturum dizisi aşağıdaki gibi bir görünüm arzeder.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Array
(
[GENEL] => Array
(
[ip] => 127.0.0.1
[tarayici] => Mozilla/5.0 ....)
)
[UYE] => Array
(
[sessionstarttime] => 1267461947
)
)

Thrift ile ölçeklenebilir Web

admin | 20 April 2010 15:50

Nedir?

Thrift, Facebook tarafından geliştirilen, C++, C# , Cocoa , Erlang , Haskell , Java, OCaml, Perl, PHP , Python, Ruby, Smalltalk dilleri ile istekler yapıp cevaplar alabileceğiniz bir RPC framework’üdür. Örneğin, PHP kodu içinde, PHP methodlarını kullanarak arka tarafta çalışan bir Python uygulamasına istek gönderip cevap alabilirsiniz.

Eli Ayağı Düzgün Web Formları İçin: ValidForm Builder!

algoz | 15 April 2010 09:45

Günümüz Web sitelerinin vazgeçilmez elemenlarından olan Web formları, web sitesi ile kullanıcı arasında cereyan eden interaktif etkileşim için, olmazsa olmaz bir web elemanı konumundalar.

En fazla kullanıldığı yerler olan, üyelik işlemleri gibi bilgi girişlerinin yoğun bir şekilde yapıldığı yerlerde kullanılan web formlarında bulunması gereken en önemli işlevsel özellik ise; kullanıcılar tarafından girilen bilgilerin, web geliştiriciler tarafından belirlenmiş geçerlilik kıstaslarına uyup uymadığının kontrol edilmesi.

Oldukça önemli olan bu işlevin tam olarak yerine getirilesini sağlamak amacı ile geliştirilmiş bir kütüphane olan ValidForm Builder, PHP ve JavaScript (JQuery) ile geliştirilmiş ve hem istemci taraflı hem de sunucu taraflı olarak, geçerlilik denetlemesini yapabilmekte.

Ücretsiz İletişim Formu

wols | 13 April 2010 13:20

jotform/iletişim formu
jotform/iletişim formu

Kodlama bilmeyen,amatör webmasterler için en büyük sorunlardan biri de ziyaretçilerle iletişim kurabilecekleri bir form hazırlamaktır.

Webmaster ların her türlü hazır scripti internetten rahatlıkla bulabildiği günümüz de, bu bahsedeceğim site ile artık form hazırlama derdi de yok.

jotform.com a üye olup, dakikalar içinde, hiç kod bilmeyen webmasterlar bile sürükle bırak yöntemiyle, ihtiyaçlarına uygun olan form ögelerini seçerek iletişim formlarını hazırlayabilirler.

Webmasterlar için muhteşem script kaynağı

CptZenci | 06 April 2010 16:58

Webmasterlar veya web tasarım yapmak isteyen fakat bundan anlamayanlar müjde! Bu site tam size göre…

Adresimiz:  www.hotscripts.com
Adresimiz: www.hotscripts.com

Bir site açmak istiyorsunuz diyelim fakat yeni site yazacak kadar vaktiniz yok veya kod yazacak bilginiz yok. Bu sitede istediğiniz her şekilde scripti bulabilirsiniz ve bunları ücretsiz bir şekilde indirip geliştirebilirsiniz veya direk kullanabilirsiniz. Bu site herkese hitap ediyor aslında sadece eğitim amaçlı bile kullanabilirsiniz veya aldığınız scriptten kodları kopyalayıp kendi sitenizi geliştirebilirsiniz.
Sitede bulabileceğiniz diller:
+Ajax
+C ve C++
+Flash
+PHP
+XML
+ASP
+CFML
+Java
+Python
+ASP.NET
+CGI ve Perl
+Java Script

PHP ve MYSQL ile TRANSACTION

admin | 02 April 2010 13:44

Bazı zamanlar mysql’de aynı anda iki sorgu çalıştırıp ikisinide sorunsuz şekilde tamamlandığında bir işlem yaptırmak isteyebilirsiniz. Veya 2. bir sorgunun çalışmadığı veya sorgular arasında her hangi biri çalışmadığında tüm işlemleri iptal etmek isteyebilirsiniz.

İşte tam bu sırada imdadınıza transaction yetişiyor.Lafı daha fazla uzatmadan isterseniz örneğimize geçelim zaten kodlara baktığınızda ne kadar basit bir işlem olduğunu anlayacaksınız.

Bu örneğimizde bir içerik yönetim sistemindeki üye silindiğinde üyenin sisteme gönderdiği mesajlarıda silinecek.