Php Dersleri

Bu linkten konuya ulaşabilirsiniz.

Link : http://deep-kod.org/forum/showthread.php?tid=79

Php Dersleri

POST metodu ile form işlemleri

Bu linkten konuya ulaşabilirsiniz : http://deep-kod.org/forum/showthread.php?tid=180

Php Dersleri

Merhabalar arkadaşlar,

Bu konumda sizlere for veforeach arasındaki farktan ve kullanımdan bahsedeceğim.

Link : http://deep-kod.org/forum/showthread.php?tid=63

Php Dersleri

Merhabalar arkadaşlar,

Sizlere bu konumda CodeIgniter kütüphanesinden bahsedeceğim.

Codeigniter nedir?


Codeigniter PHP ile dinamik web uygulamaları geliştirmek için geliştirilmiş bir kütüphanedir.
Codeigniter projesi ilk çıktığında Ellislab şirketi tarafından ortaya çıkarılsa da 6 Kasım 2014 tarihinden beri British Columbia Teknoloji Ensitütü’ sü yönetimi altında  geliştirilmeye devam etmektedir.

Codeigniter MVC (Model-View-Controller) yapısını kullanılır.

Codeigniter seo dostu URL’ ler üretir. 
Örn. : (deep-kod.org/forum/konu/104)


Neden Codeigniter?

Codeigniter yaygın olarak ihtiyaç duyulan görevler için zengin bir kütüphane sunmanın yanı sıra bu kütüphanelere erişmek için basit bir arayüz ve mantıktsal yapı sağlayarak, hızlı projeler geliştirilmesini sağlar.

Codeigniter, yapılacak bir işlem için gereken kod miktarını en aza indirerek projeye yaratıcı bir şekilde odaklanılmasını ve geliştirilmesini sağlar.

Codeigniter hafif bir kütüphanedir ve çekirdek sistem diğer kütüphanelerin aksine sadece birkaç küçük kütüphane gerektirir. Codeigniter belirli bir işlem için geliştiricinin ihtiyaçlarını temel alır ve istek üzerine kütüphaneler dinamik olarak yüklenir, bu nedenle temel sistem oldukça yalın ve oldukça hızlıdır.

Codeigniter veritabanı bağlantısı, dosya yükleme, oturum yönetimi gibi işlemleri basit bir şekilde gerçekleştirmenize olanak sağlayan bir kütüphanedir.

Php Dersleri

$GLOBALS : Değişkenin özelliği kullanıldıgında o değişkene her yerden erişim saglanabilir. – Etki alanlarını değiştirir.


<?php
//.. Tagları içerisinde yazılan her alan global alan olmaktadır. ..
?>

<?php
    /*
    GLOBAL alandır.
    {
        Local Alandır.
    }
    GLOBAL alandır.
    */
?>

Burada GLOBAL alandan Local alana erişemeyiz. Local Alandan GLOBAL alana da erişemeyiz. Fakat erişmek istiyorsak 

yapmamız gerekenler.

$GLOBALS Süper Globalını kullanmamız gerekir.

$GLOBALS ile Local alandan GLOBAL alana erişim vardır ayrıca GLOBAL alandan Local alana da erişim vardır. Şartlar 

dahilinde..

Local alan da tanımlanan GLOBALS değişkeni GLOBAL alandan Çağrılabilir. 


<?php
    //Doğrusu:
function renklerw() {
    $GLOBALS["renk"] = "kırmızı";
}
renklerw(); // fonksiyon burada çağrılıyor.
echo $renk;
    //END
    //Yanlış olanı
function renklerw() {
    $renk = "kırmızı";
}
renklerw(); // fonksiyon burada çağrılıyor.
echo $renk;
?>

***********************************************************************
GLOBAL Alanda tanımlanan bir değişken de Local Alandan Çağrılabilir.
———————————————————————————

&lt;?php<br> //Doğrusu:<br> $GLOBALS["isim"] = "Fikret YALÇIN";<br> function Genel(){<br> &nbsp;&nbsp;&nbsp;&nbsp;echo $GLOBALS["isim"];<br> }<br> Genel();<br> //END<br> //Yanlış Olanı<br> $GLOBALS["isim"] = "Fikret YALÇIN";<br> function Genel(){<br> &nbsp;&nbsp;&nbsp;&nbsp;echo &nbsp;"isim";<br> }<br> Genel();<br> ?&gt;

Local alandan çağrmak istediğimiz zaman GLOBALS değişkenini kullanmamız gerekmektedir.

Php Dersleri

Php Nedir, Ne İşe Yarar?

Php nedir kısaca açıklamak gerekirse, Php dinamik web sayfaları hazırlamak için ve web uygulamalarını geliştirmek için geliştirilmiş olan bir programlama dilidir. Php 1995 senesinde aslen kökeni Danimarka olan Kanadalı yazılım uzmanı Rasmus Lerdorf tarafından yazılım dili olarak programlanmış ve icat edilmiştir. Lerdorf tarafından icat edilmiş olan bu programlama dili İlk başlarda kişisel internet ana sayfasını ziyaret eden kişi sayısını belirlemek için kullanılsa da kısa süre içerisinde diğer yazılımcıların da dikkatini çekerek geliştirilmeye başlanmıştır. Günümüzde PHP hala geliştirilmeye devam etmektedir. Facebook, Wikipedia, Twitter ve Google Php ile geliştirilmiştir.

Php’nin Açılımı Nedir?
Php uzun yıllar boyunca Personal Home Page yani kişisel anasayfa olarak tanımlandı ama günümüzde php açılımı Php: Hypertext Preprocessor yani üstün yazı ön işlemcisi olarak ifade edilmektedir.


Php’nin Avantajları Nelerdir?
Ücretsiz bir programlama dili olduğu için herhangi bir lisans bedeli ücreti ödenmesine gerek bulunmamaktadır. Sanal sunucular ile hemen hemen bütün işletim sistemleri ile birlikte uyum içerisinde çalışabilir. Basit söz dizimine sahip olduğu için kolaylıkla öğrenilebilir. Hızlı olduğu için kodları çok kısa süreler içerisinde yorumlanmaktadır. Birçok veri tabanı yönetim sistemlerine uyumludur ve birlikte sorunsuz olarak çalışır. Birden çok sayıda kaynana sahiptir ve açık kaynak kodu özelliği ile herkes tarafından geliştirilebilir. Arka planda çalıştığı için sayfaların görünümleri önemli değildir.

Php Nasıl Kullanılır?
Php nedir nasıl kullanılır sorusunun cevabı için yazımız aklınızda kalan sorulara cevap olacaktır. Php kendi yorumlayıcısı yine birlikte kullanılmaktadır. Php yorumlayıcısı kodları ile php kodlarını yorumlamaktadır. Php programlama dilini kullanabilmek için bilgisayarınızda localhost modüllerinin yüklü olması gerekmektedir. Bu modülleri içeren hazır programlar da bulunmaktadır.

Assembly Nedir ?

Assembly programlama dili, kullanılan bilgisayar sisteminin yapısına ve işletim sistemi gibi platformlara sıkı-sıkıya bağımlı bir dildir. Assembly programlama dili düşük seviyeli bir dil olup C, C++, Pascal, C# gibi yüksek seviyeli programlama dillerine göre anlaşılması biraz daha zordur. Assembly dili ile program yazarken kullanılan bilgisayarın donanımsal özelliklerinin bilinmesi gerekir. Yazılan program kullanılan mikroişlemcinin yapısına bağlıdır. Assembly dili ile program yazarken programcı doğrudan bilgisayarın işlemcisi ve hafızası ile uğraşır. Ana bellekteki (RAM’deki) ve işlemci kaydedicilerindeki değerleri doğrudan değiştirebilme imkanı vardır.
Mikroişlemci sadece ikili sayı sisteminde yazılan komut kodlarını, başka bir ifade ile makine dilinden anlar. Assembly dilinde yazılan programları makine diline çevirmek için Assembler adı verilen çevirici(derleyici) programlar kullanılır. Aşağıda verilen şekilde Assembly dili, Makine dili ve Assembler blok olarak görülmektedir.
Bilgisayarımızda çalıştırılan tüm programlar önce bilgisayarımızın RAM belleğine yüklenir. Daha sonra RAM bellekten sırası ile mikroişlemci tarafından okunarak çalıştırılır. RAM’e yüklenen veri programın makine dili karşılığından başka bir şey değildir. Yani 0 ve 1 kümeleridir. Makine dilinde program yazmak oldukça zordur. Buna karşılık makine dili ile birebir karşılığı olan ve komutları kısaltılmış kelimelerden (mnemonik) oluşan bu dilden yararlanılır. Program yazmak makine dilinde program yazmaya göre daha hızlı ve daha kolay yapılabilir. Ayrıca yazılan programların bellekte kapladıkları yer de aynıdır. Başka bir ifade ile bellek kullanımları aynıdır. Yüksek seviyeli dillerle karşılaştırıldığında assembly dilinde yazılan programlar daha hızlıdır ve bellekte daha az yer kaplar. Buna karşılık program yazmak yüksek seviyeli dillerde daha kolaydır. Günümüzde daha çok sistem programcıları tarafından diğer programlama dilleri içerisinde kullanılmaktadır.
Dezavantajları

  • Program yazmak için mikroişlemci iç yapısı bilinmesi gerekir.
  • Mikroişlemci tipine göre değişir. Bir mikroişlemci için yazılan bir program başka bir mikroişlemcide çalışmayabilir. Program taşınabilir platformdan bağımsız değildir.
  • Program yazmak yüksek seviyeli dillere göre daha zor ve zaman alıcıdır.

Avantajları

  • Bigisayar donanımı üzerinde daha iyi bir denetim sağlar. İşlemcinizin gücünü en iyi şekilde ortaya koyabilecek tek programlama dilidir.
  • Küçük boyutlu bellekte az yer kaplayan programlar yazılabilir. virüslerin yazımında kullanılırlar.
  • Yazılan programlar daha hızlı çalışır. Çok hızlı çalıştıkları için işletim sistemlerinde ve donanım sürücülerinin programlanmasında, hız gerektiren kritik uygulamalarda kullanılmaktadır.
  • Herhangi bir programlama dili altında, o dilin kodları arasında kullanılabilir.
  • İyi öğrenildiğinde diğer dillerde karşılaşılan büyük problemlerin assembly ile basit çözümleri olduğu görülür.

WAF Çözümü

Bilişim teknolojisinde sistem ve yazılımların güvenliği artık vazgeçilmez olmuştur. Kurumlar da artık kendi güvenliğini sağlamak için kurum ağı içerisinde güvenlik duvarı kullanarak sistemlerini koruma yollarına gitmişlerdir. Güvenlik duvarları hem internet üzerinden gelecek tehditlere karşı hem de kurum içerisinden yapılan art niyetli saldırılara karşı kurumun sistemlerini korur ve kurum içerisindeki yapının yönetimi açısından büyük kolaylık sağlar. Fakat bu cihazlar genelde klasik güvenlik anlayışı ile tasarlandıklarından 4.katmana kadar paket incelemesi yapar. (ip adresi, port numarası, paket numarası, connection bilgileri gibi) Yeni nesil güvenlik duvarlarında ise durum biraz daha farklıdır. Bu yeni nesil güvenlik duvarları ile birlikte uygulama katmanına kadar paket incelemesi yaparak tam koruma seviyesine çıkmak amaçlanmaktadır. Ama bu cihazlar maliyet açısından kurumlara ciddi anlamda yük getirmektedir ve ülkemizde bu cihazları kullanabilen kurum sayısı oldukça düşüktür.
Donanımsal güvenlik duvarlarında genel güvenlik protokolü port kavramına dayanmaktadır. Cihaz üzerinde oluşturulan kurallar genelde port ile ilişkilendirilir. Ama günümüz teknolojisi artık bu porta dayalı güvenlik algısını kırmış uygulama merkezli kurallar yazılmasını zorunlu hale getirmeye başlamıştır. Artık bu cihazlarda 80 portuna izin yazmak yerine http portuna izin yazılmaktadır. Yani kurum http portunu farklı bir porta taşısa bile cihaz bunu algılayarak bağlantı talebinin reddi konusunda bir kural var ise talebi reddedecektir.
Uygulamalar üzerinde tekrar basitleştirme yapamayacağımıza göre Uygulama katmanında güvenlik almamız şarttır. Yukarıda bahsettiğimiz uygulama katmanında paket incelemesi yapan güvenlik duvarları çoğu zaman web tarafından gelen tehditlerde başarısız olmaktadır. Bu yüzden internet üzerinden gelen gelişmiş saldırıları kesebilmek için Web Uygulama Güvenlik Duvarları (WAF) kullanılmaktadır. WAF’lar her geçen gün karmaşıklaşan sistemlerde web trafiği üzerinden gelen anormalilikleri tespit ederek belirlenen kurallar çerçevesinde gelen taleplerden saldırgan amaçli genel talebi engellemek üzerine kurulmuş bir teknolojidir. Diğer bir deyişle “HTTP/HTTPS/SOAP/XML-RPC”gibi protokoller üzerinde detaylı paket analizi yaparak zararlı istekteri bloklamak için yazılan araçtır.

Uluslar arası bazı standartlar WAF kullanımını yoğun bir şekilde tavsiye etmektedir. Bunların arasında WAF kullanımını zorunlu tutan standartlardan PCI Veri Güvenliği standardı da bulunmaktadır. Kurumların karşılaştığı web saldırılarından korunmak için bazı kurumlar kaynak kod analizi yaptırma yolunu seçerler. Fakat kaynak kod analizinde sadece incelenen kodun güvenliği denetleneceği için tam koruma sağlamayacaktır. WAF ise önüne konulduğu sisteme gelen her türlü saldırıyı farkedip önleyebileceği için kısa vadede daha pratik çözümler sunmaktadır.

Saldırı Tespit Testleri
Konumlandırılacak olan WAF bilinen saldırı türlerini tespit edip engelleyebiliyor olmalıdır. Hatta veri öğrenmesi metodları ile sıfırıncı gün saldırılarınıda tespit edebilen WAF lar mevcuttur. Seçilen WAF öncelikle OWASP’ın listesinde de bulunan aşağıda ki atak türlerini tespit edebiliyor olmalıdır.
– SQL İnjection
– Cross-Site Scripting
– Command İnjection
– Local File İncluding
– Buffer Overflow
– Brute-Force Attack
– Cookie-Session Posioning
– Session Hijacking
– Sensitive Information Leaks
– Server Misconfiguration
– Wall-known latform Vulnerabilities
– Form-Hidden Field Manipulation
– Parameter Tamper
– Remote File İncluding
– File Upload
Performans Analizi
WAF performansını denetleyebilmek için localde bir sunucu kurum curl-loader veya siege gibi client simülasyonları ile test yapılabilir. Bu test bize ileride ürünümüzü canlı ortama çıkarttığımızda karşımıza çıkabilecek problemler hakkında az çok bilgi verip önceden önlem almamızı sağlayacaktır.
Zayıflık Analizi
WAF sistemlerinde zayıflık analizi yapabilmek için önceden elimizde bulundurduğumuz veya internet üzerinde zafiyet barındırdığı bilinen bir uygulamayı edinerek bir web sunucusuna kurabiliriz. Bunlardan bazıları “DVWA” veya “bWAPP” gibi üzerinde “OWASP TOP 10” zafiyetleri barındıran sistemler olabilir. Ardından bu zafiyet dolu siteyi tarayıp bir rapor oluşturmamız gerekiyor ve aynı testi araya WAF cihazını konumlandırarak tekrarlamamız gerekiyor. Sonrasında ise çıkan bu iki raporu karşılaştırmak kalıyor. En kısa şekilde elinizdeki WAF ın ne kadar başarılı olduğunu bu şekilde test edebilir rotanızı o yönde çizebilirsiniz. Eğer delta raporunda sizin scriptinizde barınan zafiyetten farklı bir zafiyet görünüyor ise elinizdeki ürünü alırken tekrar kere düşünmeniz gerekebilir.

Python Giriş

Merhaba Python’da ekrana yazı yazdırmak için print komutunu kullanacağız.


Print("Merhaba Dünya")

Merhaba dünya yazan kısmı değiştirerek ekrana istediğiniz kelimeleri yazdırabilirsiniz…

Python Multithreading

Merhaba arkadaşlar,

Bir süre önce ihtiyacım olmuştu ve çok işime yaradı hızına hayran kaldım sizlerede kaynağı paylaşıyorum.

Url : https://dev.to/rhymes/how-to-make-python-code-concurrent-with-3-lines-of-code-2fpe