Reklam

Reklamlar

12 Haziran 2010 Cumartesi

Sıfırdan ASP Dersleri

Döküman: IIS Kurulumu Sonrası Ayarlar
Default Olarak IIS Kurulduktan Sonra Bazı Ayarlar / Izinler / Işlemler Yapmamız Gerekir.

En Baştan Bunları Ele Alalım.

Kurulumdan Önce Tüm Kurulum Bileşenlerini Seçersek Bileşen Sıkıntımız Olmaz Ileride. Kurulumun Tamamlandığını Varsayarak Sonraki Adımlara Geçelim.

Önce Gizli Dosyaları Göster (Herhangi Bir Klasörde Araçlar > Klasör Seçenekleri > Görünüm > Gizli Dosya ve Klasörleri Göster) Aktifken C:\\Inetpub\\wwwRoot Altındaki Tüm Dosyaları Temizleyin. Bu Dosyalar IIS Tanıtım Dosyalarıdır ve Önemsizdir. Temizlik Sonrası Artık ASP Sayfalarımızı Buraya Atacağız.
Döküman: IIS Kurulumu Sonrası Ayarlar
Default Olarak IIS Kurulduktan Sonra Bazı Ayarlar / Izinler / Işlemler Yapmamız Gerekir.

En Baştan Bunları Ele Alalım.

Kurulumdan Önce Tüm Kurulum Bileşenlerini Seçersek Bileşen Sıkıntımız Olmaz Ileride. Kurulumun Tamamlandığını Varsayarak Sonraki Adımlara Geçelim.

Önce Gizli Dosyaları Göster (Herhangi Bir Klasörde Araçlar > Klasör Seçenekleri > Görünüm > Gizli Dosya ve Klasörleri Göster) Aktifken C:\\Inetpub\\wwwRoot Altındaki Tüm Dosyaları Temizleyin. Bu Dosyalar IIS Tanıtım Dosyalarıdır ve Önemsizdir. Temizlik Sonrası Artık ASP Sayfalarımızı Buraya Atacağız.

Burada Unutmadan wwwRoot Klasörüne Gerekli Izinleri Vermeliyiz. Bunun Için Yapmamız Gereken Önce Yine Herhangi Bir Klasörde Araçlar > Klasör Seçenekleri > Görünüm > Basit Dosya Paylaşımı Kullan (Işareti Kaldırın). Daha Sonra

Rastgele Şifre Üretimi ASP

Fonksiyonu kullanarak rastgele karakterlerden oluşan şifreler üretebilirsiniz
Kullanırken
Response.Write(SifreUret(10))
%>

Şeklinde kullanabilirsiniz, buradaki 10 üretilecek şifreninin kaç karakter olduğudur, tercihinize göre değiştirebilirsiniz.

Fonksiyon aşağıdadır.

PHP ile Oturum Yönetimi (Session Management)

PHP ile Oturum Yönetimi (Session Management)
HTTP protokolünün o anki durumu kaydetmeyen (stateless) yapısı web uygulamaları için en önemli sorunu oluşturmuş ve bunun aşılabilmesi için hem sunucu, hem de istemci tarafında çeşitli metodlar geliştirilmiştir.
Web sunucusuna bağlanan bir kişi web tarayıcısı aracılığıyla sunucudan bir URL adresi ile belirtilmiş kaynağı ister (HTTP request) ve sunucu da istemi değerlendirir ve sunucu tarafında yapılması gerekenleri yaparak tarayıcıya cevabını iletir (HTTP response). Arada sürekli bir TCP/IP bağlantısı yoktur. Aslında kaynak kullanımı ve bant genişliği açısından oldukça avantajlı olan bu durum web uygulaması geliştirirken dezavantaja dönüşür. Bir web uygulamasında web sunucusuna çeşitli istemlerde bulunan kişi, bu istemleri arasında o an hangi aşamaya gelmişse oraya kadar yaptığı işlemlerin kaybedilmemesini, sunucu tarafından hatırlanmasını isteyecektir. Bu sorun sunucu tarafta oturum yönetimi (session management) kavramının doğmasına sebep olmuştır.
Web üzerinde oturum yönetimi sunucu ve istemci tarafta olmak üzere ikiye ayrılabilir:
İstemci tarafta oturum yönetimi: İstemci tarafta oturum yönetimi kavramını, bir HTTP oturumu esnasında istemci tarafa bir önceki oturuma ilişkin bilgiler atmak veya istemci taraftan bir önceki oturuma ilişkin bilgileri almak şeklinde düşünülebilir.
Eğer HTML"in form olanağından yararlanılıyorsa HIDDEN türü alanlar kullanılarak bir önceki oturum bilgisinin istemciye aktarılması ve tekrar form aracılığı ile sunucuya geri iletilmesi sağlanabilir. Uygulamanız formlardan oluşuyor ise oldukça kullanışlıdır.
Bir başka metod oturum bilgilerini URL içine gömme metodudur. Form kullanılmasına gerek kalmadan HTML linkleri içine GET metodu çağrılarının yaptığı gibi gömerek uygulama ekranları arasında bilgi taşınabilir.
Son olarak cookie"ler kullanılabilir. Cookie"lerin çalışma mantığı basittir. Browser web sunucusuna istemde bulunurken gönderdiği header bilgisinin arkasına daha önceden ilgili sunucunun set ettiği cookie değişkenleri ve bunların değerlerini gönderir. Sunucu bu bilgileri değerlendirerek en son nerede kalındığını hatırlayabilir. Daha sonra sunucu, browsere cevap gönderirken set etmek istediği cookie değişkenlerini ve değerlerini cevap iletisinin header kısmına koyar ve browser yoksa yeni cookie değişkenleri yaratır ya da varsa önceki cookie değişkenlerinin üstüne yazar.

Upload edilen resmi Veritabanına kaydettirmek

Adım : Sunucuya dosya göndermek
    Sunucuya dosya gönderebilmek için gerekli input tipi file dır. yani,
   
       
       
    yazdığımız anda, bize göz at penceresi sunacaktır. Ancak dosyanın sunucuya ulaşabilmesi için, form tagına - enctype="multipart/form-data" - eklenmelidir. yani örnek bir form oluşturacak olursak;
   
       

       
       

       
       

   
    işte sadece html kullanarak yaptığımız form ve doğru bir action adresi, sunucuya dosya yollamamız için yeterlidir. artık formu dolurduğunuzda, istediğiniz dosya, ekstra bir işleme gerek kalmadan sunucunuzn geçici klasörüne atılacaktır.
   
   
2. Adım : Geçici klasörde bulunan dosyalarla çalışmak.
    Şimdi action gönderdiğimiz, yukleme.php yi kodlamaya başlayalım. Öncelikle dosyanın geçici klasöre gittiğinden emin olalım.
   
        if(empty($_FILES["resim"]["tmp_name"]))
            die("Dosya yüklenemedi");
   
    Artık dosyanın sunucuda olduğunu varsayarak devam ediyoruz ve madem ki diyoruz, yüklediğimiz dosya bir resim dosyası idi, bilgilerini alalaım diyoruz.

        $bilgi = getimagesize($_FILES["resim"]["tmp_name"]);
        // resim bilgilerini alan komut
        $genislik=intval($bilgi["0"]);
        $yukseklik=intval($bilgi["1"]);
        $uzanti=$bilgi["mime"];
        if ($genislik==0)
        die("Yükleme çalıştığınız dosya bir resim değil!!!");

PHP Güvenliği - Basit PHP Güvenliği

PHPi script"lerinizin güvenli olduğundan emin olmanız için ilk olarak temel kuralları yerine getirmeniz gerekiyor: kullanıcı girdilerinin (input) filtrelenmesi ve çıktıların (output) kontrolü. Eğer bu ikisini doğru olarak yapmıyorsanız script"leriniz her zaman güvenlik problemleri ile karşı karşıya olacaktır. Bu makale"de bu iki işlem ile ilgili yapılması gerekenler anlatılıyor.
Bütün girdileri filtreleyin
Script"leriniz harici bir kaynaktan girdi okuduğunda, bu verinin tehlikeli olduğu varsayılmalı ve güvenilmemelidir. Güvenilmemesi gereken değişkenlerden bazıları: $_POST, $_GET, $_REQUEST ve hatta pek mümkün görünmese de önemli veriler içerebilecek olan $_SERVER .
Tehlikeli bir değişkenden gelen veriyi işlemlere tabi tutmadan önce ilk olarak önce onaylanamanız ve filtrelemeniz gerekmektedir. Onaylama işlemi ile sadece sizin istediğiniz verileri içerdiğinden emin olabilirsiniz. Örneğin bir eposta adresi bilgisi bekliyorsanız, onay fonksiyon"unuz girilen verinin doğru bir eposta adresi olup olmadığını kontrol etmeli.
Hemen basit bir örnekle açıklayalım. Aşağıdaki kodda ilk olarak $_POST değişkeninden e-posta adresini alıyorum ve sonra veriyi onaylama işlemine sokuyorum:

PHP ile Nesneye Yönelik Programlamaya Başlama

Phpde Nesneye Yönelik Programlama"nin yapı taşları;

- Sınıf: kodlarımızı sınıflarız
- Obje : kod sınıflarımız içerisinde kullanacağımız fonksiyonlarımızı bütün sınıflarda kullanabilmemizi sağlar.

yazmaya başlıyoruz...

PHP ile grafik üretme

GD Image Library
PHP grafik üretmek için bu kütüphaneye gereksinim duyuyor. Adres:
http://www.boutell.com/gd/ PHP Grafik Fonksiyonları
Yapılabilecekler:
İmaj yaratma:
PHP ile dosyadan varolan bir imaj alınabilir veya yeni bir imaj yaratılabilir. PHP her iki durumda da hafızada bir imaj nesnesi üreterek bunu bir handle ile bize bildirir:
int imagecreate(int x_size, int y_size): Verilen ölçülerde yeni bir imaj nesnesi yaratarak bu imaja ait hanlde"ı döndürür. int imagecreatefrompng(string filename), int ImageCreateFromJpeg(string filename): PNG veya Jpeg formatındaki dosyayı okuyarak yeni yarattığı bir imaj nesnesi içine alır ve yaratılan imajın handle"ını döndürür.

PHP/CGI Güvenlik açıkları ve kötüye kullanımı

PHPi genelde dinamik içeriği olan http sunucularında kullanılan bir script dili. PHP`nin C ve Perl`e pek çok benzerliği var ancak biraz daha basitleştirilmiş. Web sitesi geliştirmekle alakası olmayan şeyler kaldırıldığı için bu PHP`yi çalışılması gereken güzel bir dil yapıyor.
Bu yazıda bir PHP mesajlaşma listesi yaparken rastladığım bazı güvenlik konularına değineceğim. Konuştuğum çoğu insan güvenliğin bir konu olduğunu bile düşünmemişlerdi ve script`lerini nasıl yapılandırdıklarının sitelerinin güvenliğini nasıl değiştireceğini düşünmemişlerdi bile.
Ana problem değişkenlerin web browser`dan PHP`ye nasıl geçirildiği. Değişkenler ve değerleri URL`ye ekleniyor ve aşağıdaki gibi oluyor:
http://host/dir/script.php?değişken1=değer

CodeIgniter dosya yapısı

Hatırlarsanız bir önceki yazımda, MVC yapısı, CodeIgniter framework"ü ve kurulumu hakkında bilgiler vermiştim. Bu bölümde ise CodeIgniter dosya yapısı hakkında bilgiler vermek istiyorum.

Daha öncede söylediğim üzere, CodeIgniter ile gelen arşiv dosyasını bilgisayarımıza açtığımızda, system ve user_guide klasörleri ile index.php ve license.txt dosyalarının geldiğini görmüştük. Şimdi bu klasör ve dosyaların ne olduğunu biraz açmak istiyorum.

System klasörü içinde farklı görevleri olan bir çok klasör bulunmaktadır. Bu klasörlerin içinde ki dosyalar da CI"nin iskeletini oluşturmaktadır. CI"nin sahip olduğu klasörleri şu şekilde sıralayabiliriz. application configcontrollerserrorshookslibrariesmodelsviews cachecodeigniterdatabase drivers mssqlmysqlmysqlioci8odbcpostgresqlite fontshelperslanguage english librarieslogspluginsscaffolding imagesviews Application klasörü
Application klasörü bizim için büyük önem arz etmektedir. Çünkü yaptığımız geliştirmeleri burada saklamaktayız. Genel olarak işleyiş bu klasör içinde gerçekleşmektedir. Model-View-Controller dosyalarımız bu klasör içinde yer alan yardımcı klasörler içinde saklanacaktır. Ayrıca geliştirdiğimiz kütüphaneleri de yine burada bulunan libraries klasörü içine atarak projemize yine burada dahil edebileceğiz.

Cache klasörü

Adından da anlaşıldığı gibi, sistem üzerinde önbelleğe alınan veriler burada tekrardan kullanılmak üzere saklanmaktadır. Codeigniter klasörü CI"nin php 4+ ve php 5+ sürümlerinde çalışması için gerekli olan dosyalar burada bulunmaktadır.

Çekinmeyin Buradan Yardım İsteyin!

Arkadaşlar elimden geldiği kadar size buradan php hakkında yardım etmeye çalışacağım. Sorularınızı yorum yoluyla buradan bildirin ve bende yorumla size geri döniyim !
ebook library