22 Ocak 2011 Cumartesi

Script yazarken yapılan yanlışlar

Evet sevgili blog okurlarım
php ücretsiz basit bir dildir tabi bir yere kadar evde oturan yaşlı amcalar bile günde 2 saat localhostda takılsa sanırım phpde :D birşeyler karalaya bilir....Ama ülkemizde bazı yanlış anlamalar var bunlara değinelim

1. Charset
Dil kodlaması demektir mesela utf-8 latin veya iso bunlara örnek ülkemiz iso kullanmakda şçığö gibi karakterler bize özgüdür fakat yapılan hata şu iso olarak yazdığınızda yedek alırken veya yüklerken yada host değiştiğinizde veyahut basit bir formla ekleme yaparken hep karakter sorunu yaşarsınız herşeyi universal olarak düşünelim bir arap sitemize gelse bir yorum atsa çorba karakterler çıkacaktır bunun için scriptiimizi her zaman utf-8 olarak kodluyoruz php editörümüzüde utf-8 yapıyoruz
mysql connect olduktan sonrada bu queryleri uyguluyoruz


mysql_query("SET CHARACTER SET utf-8");
mysql_query("SET COLLATION_CONNECTION = 'utf8_turkish_ci'");
2.Kodlama Stili herkez koduna göre veritabanı yazar önce veritabanı kodlucaz sonra algoritma kurcaz ve enson php yapcaz sonrada tasarıma geçicez böylesi scriptin geliştirilmesi ve eklenti eklenmesi yönünden daha basit olur

3.Ülkemizde php yanlış anlaşılıyor en basit işlerde bile function yazılıyor veya basit işler için class
şöyle düşünelim if else elseif i direkt yazak ne olur function içine alsak ne olur tabiki kod kalabalığı ve kafa karışıklılığı diretk scriptimize göre kütüphaneleri bulmalı ve onlarla çalışmalıyız

4.Güvenlik herkez kafasına göre yöntemler bulmuş işte mres,htmlentites,htmlspecial.... gibi akılmaz saçma yöntemler ben eğer sadece sayı ise bunu eregi ile veya is_numeric ile kontrol etmeli string ise eregi ile yazılan sadece A.....Z,a.....z,_- gibi karaktere izin veren gerisini kabul etmeyen bir fonksiyon yazabilirsiniz böylesi daha sağlıklı olacaktır.

5.$_COOKIE dan korkmayın kendinize göre bir şifreleme mantığı kurun salt bir stringle de ek önlem alın değiştirildinde giremez kimse $_SESSION ise güvenli fakat browser kapanınca gidiyor :(

Sağlıcakla esenkalın

Hiç yorum yok:

22 Ocak 2011 Cumartesi

Script yazarken yapılan yanlışlar

Evet sevgili blog okurlarım
php ücretsiz basit bir dildir tabi bir yere kadar evde oturan yaşlı amcalar bile günde 2 saat localhostda takılsa sanırım phpde :D birşeyler karalaya bilir....Ama ülkemizde bazı yanlış anlamalar var bunlara değinelim

1. Charset
Dil kodlaması demektir mesela utf-8 latin veya iso bunlara örnek ülkemiz iso kullanmakda şçığö gibi karakterler bize özgüdür fakat yapılan hata şu iso olarak yazdığınızda yedek alırken veya yüklerken yada host değiştiğinizde veyahut basit bir formla ekleme yaparken hep karakter sorunu yaşarsınız herşeyi universal olarak düşünelim bir arap sitemize gelse bir yorum atsa çorba karakterler çıkacaktır bunun için scriptiimizi her zaman utf-8 olarak kodluyoruz php editörümüzüde utf-8 yapıyoruz
mysql connect olduktan sonrada bu queryleri uyguluyoruz


mysql_query("SET CHARACTER SET utf-8");
mysql_query("SET COLLATION_CONNECTION = 'utf8_turkish_ci'");
2.Kodlama Stili herkez koduna göre veritabanı yazar önce veritabanı kodlucaz sonra algoritma kurcaz ve enson php yapcaz sonrada tasarıma geçicez böylesi scriptin geliştirilmesi ve eklenti eklenmesi yönünden daha basit olur

3.Ülkemizde php yanlış anlaşılıyor en basit işlerde bile function yazılıyor veya basit işler için class
şöyle düşünelim if else elseif i direkt yazak ne olur function içine alsak ne olur tabiki kod kalabalığı ve kafa karışıklılığı diretk scriptimize göre kütüphaneleri bulmalı ve onlarla çalışmalıyız

4.Güvenlik herkez kafasına göre yöntemler bulmuş işte mres,htmlentites,htmlspecial.... gibi akılmaz saçma yöntemler ben eğer sadece sayı ise bunu eregi ile veya is_numeric ile kontrol etmeli string ise eregi ile yazılan sadece A.....Z,a.....z,_- gibi karaktere izin veren gerisini kabul etmeyen bir fonksiyon yazabilirsiniz böylesi daha sağlıklı olacaktır.

5.$_COOKIE dan korkmayın kendinize göre bir şifreleme mantığı kurun salt bir stringle de ek önlem alın değiştirildinde giremez kimse $_SESSION ise güvenli fakat browser kapanınca gidiyor :(

Sağlıcakla esenkalın

Hiç yorum yok: