PHP ve Güvenlik

Ali Göksel Bektaş tarafından 7 Ağustos 2011 tarihinde yazılmıştır.
Yorum Yok

PHP ve GüvenlikPHP’de Ziyaretçiye bir takım yetkiler verirseniz kötü niyetli bir ziyaretçi web sitenizi ele geçirebilir. Düşünün ki iletişim adresinde “Ad-Soyad:” bölümüne herhangi bir ad değil de bir kod girerek web sitenizden bazı bilgileri silebilir veya bazı önemli dosyaları ele geçirebilir. Hack bu şekilde de işleyebilir. Bunun için PHP’de güvenlik için ziyaretçilere HTML etiketleri çalışmayan sadeec text formlar oluşturmalısınız. Ayrıca Ziyaretçi ile iletişim kurarken asla ve asla güvenliğinizden taviz vermeyin.

 

Güvenlik için bir kaç ipucu;

Web sitenize saldırın

Web sitenize saldırın. İnternetten araştırdığınız kullandığınız web sisteminin açıklarını öğrenerek kendi web adresinizde öğrenin. Bir nevi kendi sisteminizi test edin. Ne kadar dayanıklı. Örnek vermek gerekirse WordPress’in güncellemelerini kontrol etmezseniz siteniz çok kolay bir şekilde hacklenebilir. Nasıl mı güncellemeler bazen sistem içi bazen de yeni bir “Exploit” yani bir sistem açığı bulunduktan sonra yapılır. Güvenlik açığı bulunan güncellemeleri kontrol etmediğiniz anda Hacker’lar bu Exploit dediğimiz açıkları internetten bulup web sitenizi ele geçirebilirler.

Veritabanınıza çocuğunuz gibi bakın

Veritabanınıza çocuğunuz gibi bakın. Öyle her bilgiyi veritabanınıza yazmayın.  Bir takım önlemler koyun. İletişim formunu direk @gmail.com veya benzer e-mail servislerine gönderecek şekilde kurun. Eğer sisteminiz ile aynı panele kurulmuş bir iletişim formuna sahipseniz bu veritabanınızın risk altında olduğunu işaret eder.

Uploadlara dikkat etmeniz gerekli

Uploadlara dikkat etmeniz gerekli. Daha doğrusu uploadlarınızın uzantılarına dikkat etmeniz gerekli. Eğer siz örnek veriyorum ali.php dosyasını Browse yani Resim Seç buttonuna tıkladıktan sonra upload ettirebiliyorsanız yandınız demektir. ali.php.jpg şeklinde görünecek ve resim tarayıcıda göründüğü anda php dosyasıda çalıştırılacak. PHP dosyasının içerisinde kodlarla web site hacker’ın eline geçebilir.

SQL İnjection önemli. Nedir bu SQL İnjection?

SQL İnjection önemli. Nedir bu SQL İnjection? SQL İnjection SQL komutlarının .php uzantılı dosyalar içerisinde çalışmamasıdır. Yani diyorum ki hemen yukarıda bahsettiğim ali.php.jpg üzerinden hacker sitemizin veritabanına zarar veremiyor. Çünkü veritabanı komutları php dosyasının içerisinde çalışmıyor. Bugüne dek yapılan saldırılan büyük bir bölümü SQL İnjection saldırılardır. Bu yüzden önemli dedim, dikkat edilmeli.

Cookie’leri ziyaretçiye şifreleyerek gönderin

Cookie’leri ziyaretçiye şifreleyerek gönderin. Cookie’leri şifrelemek için daha önce açtığım konuya tıklayın. Nedenini bir güzel açıklamışım. Link: Cookie’leri şifrelemek

Daha güvenli bir veritabanı için Stored Procedure kullanın

Daha güvenli bir veritabanı için Stored Procedure kullanın. Stored Procedure Veritabanı tarafından çalıştırılan Veritabanınızdaki kayıtlı bilgilerden bağımsız bir nevi sanal veritabanıdır. Bilgisayarlardaki Ram’in bulunma nedenine benzer. Hem performans hem de güvenlik için kullanılmalıdır.

Gelen bilgi rakam mı yoksa yazı mı?

Gelen bilgi rakam mı yoksa yazı mı? Bunu öğrenmeniz için gelen verinin rakam olduğunu kontrol eden bir kontrol yapısına sahip olmalısınız. Bunun için gelen verinin “Göster” butonuna tıklandığında sayfanın içerisine bu kodu geçirmeniz  gerekiyor.

<?php

if  (is_int($_GET["makalenumarasi"]))

{//Girilen veri sadece rakamdan oluşuyorsa veritabanına gönder kodları burada oluşturlacak}

else

{echo “Hata. Girdiğiniz değer(ler) rakamdan oluşmuyor.”;}

 

Veritabanına kayıt Ekleme – PHP

Ali Göksel Bektaş tarafından 6 Ağustos 2011 tarihinde yazılmıştır.
Yorum Yok

Veritabanı kayıt ekleme$baglanti=mysql_connect(“localhost”, “root”); mysql_query(“SET NAMES ‘latin5′”); $veritabani= mysql_select_db(“veritabaniadi”,$baglanti); $sql= “insert into tabloadi (tabloalani) values (‘Girilecekdeger’)”; if (mysql_query($sql,$baglanti)) { echo “Yazar Eklendi “; } else {echo “Hata! Kayıt eklenemedi.”;} mysql_close($baglanti); ?>

 

 

PHP ile Resmin üzerine yazı yazma

Ali Göksel Bektaş tarafından 6 Ağustos 2011 tarihinde yazılmıştır.
Yorum Yok

PHp ile resim çizme PHPPHP ile Resmin üzerine yazı yazma

 

<?php

header(“content-type: image/png”);

$yukseklik=100;

$genislik=300;

$resim=ImageCreate($genislik,$yukseklik);

$zemin=ImageColorAllocate($resim,200,1,0);

// Zemin rengini “1″rakımını yükselterek değiştirebilirsiniz.

$yazirenk=ImageColorAllocate($resim,0,0,1);

ImageFill($resim,0,0,$zemin);

$yazi=”Bilgius.com”;

Imagestring($resim,10,5,5,$yazi,$yazirenk);

Imagepng($resim);

?>

 

Önizleme:

PHP ile Kare Grafik oluşturma

Ali Göksel Bektaş tarafından 6 Ağustos 2011 tarihinde yazılmıştır.
Yorum Yok

data:image/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys/RD84QzQ5Ojf/2wBDAQoKCg0MDRoPDxo3JR8lNzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzf/wAARCADAAPADASIAAhEBAxEB/8QAHAABAAICAwEAAAAAAAAAAAAAAAECAwQFBgcI/8QAPxAAAgEDAwIDBgIGBwkAAAAAAAECAwQFBhESE2EHITEUQVFxgZEVIhckVZOh0TJCUnSxssMIJSZFgpKi0vD/xAAYAQEAAwEAAAAAAAAAAAAAAAAAAQIDBf/EABsRAQADAAMBAAAAAAAAAAAAAAABAhEDISIx/9oADAMBAAIRAxEAPwDw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACdgIBOxOwFQW4jYCoLbDYCoLcRsBUFtiNgIBOxAAAAAAAAAAAAAAAAAAAlIBsSkWSLKIFFEsomRQLKAGJRJ4mZUyyp9gMHAcDY6ZPT7Aa3DsOBtdPsOn2A1eHYcDZ6fYOmBq8CHE2XTIdMDWcSvE2XAo4AYNiGjK4lXEDGCzRAEAAAAAAAAAEoCUi0URFGWCAmMTJGBaETmMBp/J5+5qW+ItJXNanDqTjGSW0d0t/Nr3tAcVGmXVM57N6TzWn6VKrmLCdtCtJxg5Si+TS39zZtYfRWoczZRvcbi6ta2k2o1OUUnt5PbdgdaVPsWVM7kvDbVv7Gq/vIfzJ/Rvq39jVf3kP5gdN6ZPTO31PDvVdKnKpPDVuMU29pwb2+W51lRA1+mOmc/hNL5nPU6tTE2M7mFKSjOSkkk37vNnJ/o41b+xqv7yH8wOmdMjpnPZrTeYwfB5bH1raM3tCc0nGT+Ca8t+xlwukc5nbadzisfUuKEZ8HNSily2T282vigOtumVdM5nM4W+wt37Jk7d0Ljip8HJNpP09GcljtC6kyljSvbDF1KttWW9OanFclvt72B1F0+xSVPsdgp6dylbNywtK0lPIxk4uhGSbTS3fnvt6HKy8NNXv/ktX95D/wBgOjSgYpRO4ZPQWqMbazurvC3MaFNcpzjxmor4vZt7HVZxA1ZIo0Z5oxSQGMEsgAAAAAAEoglAZImaCMMTNBgbFNHq3+z+v+Jsh/cf9SB5TTZ6l4Dya1FkWns/Yf8AUgB2jx9X+68R/eJ/5Tc0df1MZ4TWteg+NVynCEv7LdRrc4vx0nKWMxPJt/rE/wDKc94e42llvDC0s60nFT6m016xkptplq5saOq299dW90rqjXnGunvz5bt/P4/U2s1mrvL3PUrzcYJLhSjL8sTRz2IyOCrcL2k+k3tCtDzhP6+59maeOo3mTuo21jRnWrS/qx9y+LfuXc6XifTLt6LoPKV7q1u7K4qSqdGKlTlJ7tJ7prf7fc+e9vJfI+ldK6eeCx9Z15qpd1lvUcf6MUt9or7+p896dx0svm7HHxT2r1Ixm/hH1k/smc7kms3matI+PefC3EfhOjbNTjxrXX6zU/6vT/x4mvg9Z5DL6yu8VQxaljKE5xd4uS24+W793m/RHJ5nM0cBiat7cuSt6CSUaaW73eySR0258X8dGk3bWV9Uqe5TcYR+r3f+BRLmfGe6t6OjJ0KvF1bivCNKL9d0+Tf0Sf3Oc0FiPwPSePs5x41en1a3ls+cvzPf5b7fQ8csslkNe63x/wCItOjTnzVGP9CnTj+Zr67JN+89c1TqiOnMRPIV4OrtOMI04y2cm+/3YHmWq9Gas1Bqi9v3jJRp163GnKVWH5aa/LF+vwW56/Vla6Z025JJW2PtfJem6hHy+r2+7Os6O17LVN3Xo0cfUoU6FNTnUlUUlu3slsl8/scZ4yZydvpyljoz2ne1PzJf2IbN/wAXEDjPBTH1MhmcrqK8XKpu6cZNetSb5Tf0W3/cdq13rS/wGVsMbh8Z+IXNxFznT2lulvtFLb3vaXr6eRfw+samF0nY2+3GrUj16vl/Wn5/4bL6HC3Xi/h7etVpxoX1V05OKlCEOMtntum5ejA9EvLulZ4+reXu1OlRpOpV3e6ikt38z49uHGdSc4RUYybaivcvgd/114k5DU1s8fQp+yY+T3nDlvOrt6cn8Oy/iefVGBrVEYZGebMEgMbIJZAAAAAAAJRAAvFmaDMCZeLA2oSO9eFmpsdpnL3l1lZVVSq2vSh0qbm+XOL9PkmefxkZYzA9T8T9Z4fU1lYUsVKu50K0pz6tJw8nHY57w88ScBgtK2uNyTuo3FGU9+FFzi05Nppr5nicancyKoB9DXvinoy/taltd+11KNRbSjK1l5mjp3X+iMDZu3tal7KUnvUqytXyn8N/kv8A7zPClUJVTuTs5g+hq/i7pboVOnK9nPi+MfZ2t38N2eX+HWaxOBy1a/y0qqlGjwoKnScvN+r7eS2+p0tVCeoQPSfEfW9hqDH2tliZVnTVV1KzqU3DfZbRXf1b+iPPuRr9TuOp3A734bagw2nbm8u8rKsq1SEadJU6TntHfeT+6j/EyeJWsbPUfsVvi3VdtR5Tn1IcW5vyXl2W/wBzoHU7kOp3A9O8O9Xaf03h61O+nce2V6znU6dBySiltFb/AHf1OI1dqXH6i1faXNWVVYih04PeD5OCe8/y922jo7qdyrqdwPbM74o4Sph7yli53Ptk6MoUeVBxSk/Lff3bep4tKfkYZVDHKoBknMwTkRKZilICJsxSZMmUbAhkAAAAAAAAAASiUyoAyKRdSMO5O4Gwpl1M1lIlSA2lU7llU7mqpE8wNpVCeoavMcwNrqdx1O5rcxzA2eoR1DW5jmBsOoVdQwcyHMDM5lHMxORDkBdz7lXIo2RuBLZDIAAAAAAAAAAAAAAAAAE7jcgAW3HIqAL8hyKAC/IcigAvyHIoALchuVAE7jcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/9k=PHP ile bir alan oluşturup daha sonra karenin tasarımını gerçekleştireceğiz. Bunun için öncelikle grafik oluşturacağımızı sunucumuza belirtelim. Daha sonra yükseklik, genişlik ve son olarak ise rengini belirleyeceğiz.

<?php

header(“content-type: image/jpg”);

$yukseklik=100;

$genislik=100;

$resim=ImageCreate($genislik,$yukseklik);

$zemin=ImageColorAllocate($resim,0,0,1);

// Zemin rengini “1″rakımını yükselterek değiştirebilirsiniz.

Imagefill($resim,0,0,$zemin);

Imagejpeg($resim);

?>

Önizleme:

PHP ile İç içe Kare Grafik oluşturma

Ali Göksel Bektaş tarafından 5 Ağustos 2011 tarihinde yazılmıştır.
Yorum Yok

http://t0.gstatic.com/images?q=tbn:ANd9GcRACiDBddu000HcGhUJgnwp064-r0Ku4eDRJ26jLM-oiDtkMoGzqQPHP ile İç içe Kare Grafik oluşturma

 

<?php

header(“content-type: image/png”);

$yukseklik=100;

$genislik=100;

$resim=ImageCreate($genislik,$yukseklik);

$zemin=ImageColorAllocate($resim,200,255,3);

// Zemin rengini “1″rakımını yükselterek değiştirebilirsiniz.

$altzemin=ImageColorAllocate($resim,100,5,100);

ImageFill($resim,0,0,$zemin);

ImageFilledRectangle($resim,10,10,$genislik-10,$yukseklik-10,$altzemin);

Imagepng($resim);

?>

Önizleme:

PHP ile Grafik

Ali Göksel Bektaş tarafından 5 Ağustos 2011 tarihinde yazılmıştır.
Yorum Yok

http://t0.gstatic.com/images?q=tbn:ANd9GcRACiDBddu000HcGhUJgnwp064-r0Ku4eDRJ26jLM-oiDtkMoGzqQBugün Twitter, Facebook ve buna benzer bir çok web sitesi kendi API’lerini açmış durumdadır. Bunun anlamı bu tür web sitelerin geliştiriciler (developer) tarafından geliştirilmesi anlamına gelir. PHP çıktığı 1995 yılından bu yana ücretsiz ve açık kaynak kodlu (herkes tarafından görüntülenip geliştirilebilir) olması nedenli 1995 yılından beri şimdiye kadar bir çok seviye atlamıştır. Öyle ki PHP ile Grafik bile çizilebilmektedir. PHP İle Grafik derslerine aşağıdan ulaşabilirsiniz.

 

PHP ile Kare Grafik oluşturma

PHP ile İç içe Kare Grafik oluşturma

PHP ile Resmin üzerine yazı yazma

PHP ile Yazıyı Grafiksel bir metne dönüştürme

PHP ile Daire – Elips çizme

Veritabanında verilerin listelenmesi – PHP

Ali Göksel Bektaş tarafından 5 Ağustos 2011 tarihinde yazılmıştır.
Yorum Yok

MysQL PHP PHP öğrenme PHP Dersleri Veritabanındaki verileri yönetim panelinden dizin şeklinde yansıtmak özellikli makale ve alışveriş siteleri için gereklidir. Örnek vermek gerekirse oluşturduğunuz veritabanı içerisinde makalelerin başlıklarını almak için (Tümünü göster) dersiniz bunun için Veritabanında istediğiniz alanı listelenmesi gerekir. Yine alışveriş sitelerinde tüm ürünleri göster buttununa tıklanıldığında gösterilmesi gereken aynı şeydir. Bunun için tıklanıldığında yapılması gereken aşağıdaki kodu kendi web sitenize göre düzenlemenizdir.

$baglan = mysql_connect(“localhost”,”root”);

//veritabanını açıyoruz

mysql_query(“SET NAMES ‘latin5′”);

//mysql_query Türkçe karakter sorunu olmaması içindir.

$veritabani=mysql_select_db(“veritabaniadi”, $conn);

//veritabanına giriş yapıyoruz

$sql=”select KATEGORİ from BİLGİUS order by PHP asc”;

// BİLGİUS tablosundan KATEGORİ alanından PHP adlı sql sorgusunu atıyoruz. sqlsonuc=mysql_query($sql,$baglan);

// Sorguyu MySQL’e gönderiyoruz. while ($Kategoriadi= mysql_fetch_array($sqlsonuc))

// Sql sonuc değişkenini mysql_fetch_array ile okutup $Kategoriadli değişkenine aktarıyoruz. {echo “\n”;}
mysql_close($conn);
// açtığımız veritabanını kapatmak lazım elbette.
?>

” . $yazaradi["Yazar"] . “

Birden fazla tablodan veri çekimi – Right Join

Ali Göksel Bektaş tarafından 5 Ağustos 2011 tarihinde yazılmıştır.
Yorum Yok

MysQL PHP PHP öğrenme PHP Dersleri Birden fazla tablodan veri çekimi – Right Join

Birden fazla veri çekmek için Joinler kullanılır. Aynı sayfa içerisinde birden fazla tablo çekmek için çeşitli joinler kullanırız. Bunlar İnner Join, Left Join ve son olarak Right Join olmak üzere üç çeşittir.

Left Join de birinci tablodaki verilerin tümü çekilir ve ilk tablo ile ikinci tablo arasındaki eşleşen veriler bize döndürülür demiştik. Right Join de ise ikinci tablodaki verilerin tümü çekilir ve ilk tablo ile ikinci tablo arasındaki eşleşen veriler bize döndürülür.

Birden fazla tablodan veri çekimi – Left Join

Ali Göksel Bektaş tarafından 5 Ağustos 2011 tarihinde yazılmıştır.
Yorum Yok

MysQL PHP PHP öğrenme PHP Dersleri Birden fazla tablodan veri çekimi – Left Join

Birden fazla veri çekmek için Joinler kullanılır. Aynı sayfa içerisinde birden fazla tablo çekmek için çeşitli joinler kullanırız. Bunlar İnner Join, Left Join ve son oalrak Right Join olmak üzere üç çeşittir.

Yazdığımız tablo içerisindeki tüm veriler alınır. Bu verilerin ardından ikinci tablo ile birinci tablo arasındaki eşleşen veriler sorgulanır.

Bu sitedeki yazılar Bilgius.com editörlerinin izni olmadan kısmen veya tamamen alıntı yapılamaz, kopyalanamaz ve yayınlanamaz.
Hakkımızda -  İletişim