Hoşgeldin, Ziyaretçi
Sitemizden yararlanabilmek için Kayıt olmalısınız.

Kullanıcı Adınız:
  

Şifreniz:
  





Forumda Ara

(Gelişmiş Arama)

Forum İstatistikleri
» Toplam Üyeler: 26,905
» Son Üye: lmaoos
» Toplam Konular: 2,173
» Toplam Yorumlar: 3,814

Detaylı İstatistikler

Son Yorumlar
dene7
Forum: DENEME
Son Yorum: admin
09-06-2020, 03:32 AM
» Yorumlar: 0
» Okunma: 223
dene6
Forum: DENEME
Son Yorum: admin
09-05-2020, 12:52 PM
» Yorumlar: 1
» Okunma: 273
dene5
Forum: DENEME
Son Yorum: admin
09-05-2020, 12:43 PM
» Yorumlar: 2
» Okunma: 335
Tıbbi Laboratuvar
Forum: Linkler, Faydalı Siteler
Son Yorum: the
03-26-2019, 04:31 AM
» Yorumlar: 0
» Okunma: 758
Canlı Sohbet
Forum: Linkler, Faydalı Siteler
Son Yorum: the
02-23-2019, 03:56 AM
» Yorumlar: 0
» Okunma: 1,165
dosya upload & download s...
Forum: Linkler, Faydalı Siteler
Son Yorum: the
02-23-2019, 03:54 AM
» Yorumlar: 1
» Okunma: 6,188
aaaa
Forum: DENEME
Son Yorum: admin
09-25-2018, 03:15 AM
» Yorumlar: 0
» Okunma: 4,132
deneme
Forum: Evden Çalışmak Ve İş Yapmak isteyenler,
Son Yorum: admin
09-05-2018, 05:21 AM
» Yorumlar: 0
» Okunma: 30,860
deneme
Forum: Evden Çalışmak Ve İş Yapmak isteyenler,
Son Yorum: admin
01-16-2017, 02:13 AM
» Yorumlar: 0
» Okunma: 9,021
deneme3
Forum: Reklamlar
Son Yorum: admin
06-02-2016, 07:02 PM
» Yorumlar: 1
» Okunma: 2,899

 
  gozel sozler -1
Yazar: admin2 - 01-12-2007, 06:09 PM - Forum: Güzel Sözler, yazılar, Şiirler - Yorum Yok

Sakin havada firtinayi kestirmek zordur.
Machiavelli
Kaptanin ustaligi deniz durgunken anlasilmaz.
Lukinos
Firtina meyvelerin olgunlasanlarindan ziyade,kurtlanmis olanlarıni dusurur.
Cemil Suna Olgun
Gorme ozurlu olanlar,tehlikeyi gormedigi icin cesur olur.
Diderot
Bu dunyada herkes,yararlandigi urunun tohumunu daha onceden ekmistir.
Samuel Smiles
Her onemsiz sey,kucumsenirse ocunu alir.
Lessing
Ihtiyat butun icatlarin anasidir.
Eflatun
Dunyada iki turlu insan vardir; yaşayanlar ve yaşayanları seyredip,elestirenler. Seyretmek olumu,katilmak ise yasamı simgeler.
Engin Gectan
Gorup yapan,bilip yapan kadar muvaffak olmadigi gibi; bilip yapan da, hissedip yapan kadar basarili olamaz.
Socrates
Kisi kendi kusurlarini soylemekten hoslanmaz,bu isi baskalari geregi gibi yaparlar. Aristo
Akilli adam aklini kullanir,daha akilli adam baskalarinin da aklini kullanir.
Bernard Shaw
Bilgili olan guclu olur.
Firdevsi
Umut uyanik adamin ruyasidir.
Aristo
Sunu veya bunu yapacagim deme; ne yapacaksan yap.
Dale Carnegie

Bu konuyu yazdır

  HIT okunma adedi
Yazar: ehrkany - 01-08-2007, 03:18 AM - Forum: Yazılım GeliŞtirme, PHP, C++, python v.b. - Yorum Yok

abi ben siteye makalelerin okunma adetlerini gösteren bii yapmak istiyorum..

haberin ID si belli o ıdye bağlı olan HIT tablesindeki değeri 1 artırmak istiyorum... yani HIT oluyo ya onun gibi.. sormak istediğim soru şu... bunun kısa bi kodu varmı....

benim mantıgımla yaptıgımda sorgu fazla oluyo.( 2 sorgu) ilke ID ye bağlı tabloyu çağırım, HITINı alıyom,sonra onu 1 artırım update ediyom,, bu buna biraz saçma geliyo,,, kısa bi kodu yokmu,,

mesela update ederken hemencik orda 1 eklesin ubdate etsini,,,,

Bu konuyu yazdır

  pardus linux hakkında
Yazar: ehrkany - 01-06-2007, 02:28 AM - Forum: Linux ve Unix, Ubuntu Linux - Yorumlar (2)

sayın abilerim.. pardus linux ne oluyor... ben kurdum biraz inceledim.. ubunutya çok benziyo....

masaüstü,server vb. özellikler olarak değerlendirirsek sizce nasıl bişi

Bu konuyu yazdır

  Hello!!
Yazar: Recrutwo - 12-31-2006, 04:35 AM - Forum: Yazılım GeliŞtirme, PHP, C++, python v.b. - Yorumlar (1)

hey everyone I am new here just thought I would send a shout out!!

Bu konuyu yazdır

  hosting ve reseller hakkinda acıklama
Yazar: admin2 - 12-28-2006, 10:30 PM - Forum: Hosting, Hosting Kontrol Panelleri, Fiyatlar - Yorumlar (9)

bak, sana gönderdigim reseller hesabı, kendine birden cok domain acabilecegin bir hesap.
yani bir anlamda hosting satabilecegin ya da kendi domainlerin icin kullanabilecegin bir yer.

orası suanda domain icermiyor.
sen soldan kullanici/domain olustur diyeceksin ve herbir domain icin kendi alt kullanıcılarını olusturacaksın.
böylece domainlerini orada acmıs olacaksın.

anlasılmayan bir yer olursa burdan cevap yaz...

Bu konuyu yazdır

  SANAL DOLANDIRICILIKTA SON NOKTA PHİSHİNG
Yazar: admin2 - 12-28-2006, 10:27 PM - Forum: Security, Güvenlik - Yorum Yok

SANAL DOLANDIRICILIKTA SON NOKTA PHİSHİNG

İnsanoğlunun her daim hızlı bir değişim içinde bulunduğu, çağlar boyunca görülmüş ve kendi doğası içinde hep yeni şeyler arayışını doğurmuştur. İnsanoğlunun eski alışkanlıklarını bıraktığı ve hızla çağa ayak uydurduğu şu günlerde, bunu en güzel yansıtan şey ise şüphesiz ki INTERNET.

Eskiden bir banka işlemi için saatlerce kuyrukta beklenirken artık bu gibi işlemler saniyelerle ifade edilebilen bir hıza ulaşmış durumda veya saatlerce dolaşılıp alınan bir hediye web sayfalarından anında alınabiliyor. Bu ve benzeri güzelliklerini gördüğümüz internetin ne yazık ki kullanıcı tabanlı olarak kötü yanları da bulunmakta.

Günümüzde internet kullanıcılarının %80 gibi bir kısmının artık olmazsa olmazlarından olan e-posta, internet bankacılığı, e-alışveriş gibi birçok kullanım alanları kötü niyetli internet kullanıcıları tarafından istismar edilmekte.

İşte özellikle ülkemizde şu günlerde bu şekil istismarların başında gelen olay ise: PHISHING yani kısaca bankanızın, e-postanızın veya bunun gibi bilgi girmenizi gerektiren bir kuruluşun web sayfasının bir kopyasını yapıp kullanıcının hesap bilgilerini çalmayı amaçlayan bir İnternet dolandırıcılığı.İngilizce "Balık tutma" anlamına gelen "Fishing" sözcüğünün 'f' harfinin yerine 'ph' harflerinin konulmasıyla gelen terim, oltayı attığınız zaman en azından bir balık yakalayabileceğiniz düşüncesinden esinlenerek oluşturulmuş ve uygulanıyor.

Örneğin kullandığınız elektronik posta servisinin giriş ekranının bir kopyası elektronik posta olarak geliyor ve bir şekilde kullanıcı adınızı ve şifrenizi girmenizi istiyor. Dikkatsiz bir şekilde bilgileri verdiğinizde, sayfanın içine gizlenmiş bir kod parçası kullanıcı adınızı ve şifrenizi dolandırıcılara gönderiyor.

NELER ÇALINIYOR ?

Phishing yöntemi kullanarak bilgisayar kullanıcılarını tuzaklarına düşüren dolandırıcılar özellikle aşağıda belirtilen işlemleri çalıyorlar

1. Kredi, Debit/ATM Kart Numaraları/CVV2
2. şifreler ve Parolalar
3. Hesap Numaraları
4. İnternet Bankacılığına Girişte Kullanılan Kullanıcı Kodu ve şifreleri

PHISHING NASIL İşLİYOR ?

Phishingin ile dolandırıcılar internet kullanıcılarını Fake (sahte) e-posta yöntemi ile ağlarına düşürmeyi deniyorlar ve yukarıda da bahsettiğimiz kullanıcıları bilgilerini alıyorlar.

E-POSTA YÖNTEMİ NEDİR ?

E-posta yöntemini kullanan dolandırıcılar burada da kullanıcıları üç şekilde aldatma yoluna gidiyorlar. şöyle ki:

a) E-postanıza devamlı temas halinde olduğunuz kuruluşlardan gönderiliyormuş izlenimi verilen sahte bir posta gönderiliyor. Bu e-postalarda kullanıcıya kurumun web sitesine giderek şifresinin süresinin dolduğu söyleniyor ve altta o sayfaya yönlendirileceği bir link(bağlantı yolu) veriyor. Korsan daha önceden hazırladığı ve kuruluşun sitenin aynısı olan bu siteye kurbanına getirdikten sonra, ondan şifreyi girmesini istiyor, sonra da kullanıcı kendi şifresini yeni şifresiyle değiştiriyor (normal de tabii ki değiştirmiyor. Esasen eski şifre hala geçerli olduğu için korsan bu şifre ile internet aracılığı ile para transferi, e-ticaret vb. işler yapabiliyor)

b) Bazı e-postalarda ise; bir yarışma düzenlendiği ve bu yarışmaya katılması teklif edilen kullanıcılara ödül olarak BMW marka bir araç kazandıkları ancak gerekli kişisel bilgileri vermeleri gerektiği söyleniyor. Bu gibi durumlarda bilgilerini veren kullanıcının tüm bilgileri dolandırıcının yani korsanın eline geçiyor.

c) Bir başka kullanılan teknikte ise; gelen e-posta da müşteriye kişisel bilgilerini güncellemesi gerektiği tüm bilgileri tekrar girmesi bunun kendileri açısından daha iyi hizmet verebilmeleri için gerekli olduğu söyleniyor.

d) Son zamanlarda bazı bankaların başlatmış oldukları ve cep telefonları ile para transferine imkփ¢n veren sistem kullanılarak banka müşterilerine sanki kendi hesaplarına para gönderilmiş veya alınmış gibi gösterilip sahte banka sitesi linki (bağlantı yolu) verilerek bu paranın tahsil edilebilmesi için bilgi güncelleştirmesi istendiği belirtilmektedir.

Örnek:

Sayin Abidayı Bank Musterisi
Hesabiniza 24/subat/2005 tarihinde Huseyin ABİDAYI tarafindan 270 YTL. havale edilmistir. Yapilan havale ile
ilgili ayrintilar asagidadir.

Gonderen: Huseyin ABİDAYI
Miktar: 270,00 YTL. ( iki yuz yetmis yeni turk lirasi )
Sube: Mardin / Merkez
Aciklama: -
Havale onay ve/veya red islemi icin asagidaki linkden internet bankaciligini kullanabilirsiniz ve/veya hesabinizda gerekli incelemeleri yapabilirsiniz. Size havale gonderen kisinin bilgileri icinde asagidaki linki kullanabilirsiniz...

<!-- w --><a class="postlink" href="http://www.abidayibank.com.tr">http://www.abidayibank.com.tr</a><!-- w -->

Eger yukaridaki link calismiyorsa lutfen asagidaki linki kullaniniz.

<!-- m --><a class="postlink" href="http://172.84.130.29/abidayibank/form/">http://172.84.130.29/abidayibank/form/</a><!-- m -->


PHISHING SALDIRILARINDAN NASIL KORUNMALIYIZ ?

Unutulmaması gereken nokta her türlü online dolandırıcılık, sahtekarlık ve virüslere karşı en büyük korunma aracı, bu konuda bilinçli ve bilgili olmaktır. Bunu aklımızın bir kenarında devamlı bulundurmalıyız.Tabii ki internette güvenli alışveriş yapmayı istiyorsak.

1. E-postanıza gelen mesajların doğruluğunu ispatlayın. Tanımadığınız kimselerden gelen mesajları silin, asla cevap vermeyin. "Aşağıdaki bağlantıya tıklayın"gibi e-posta isteklerine ASLA YANIT VERMEYİN

2. İşlemlerinizi online yaparken, işlem yaptığınız web sayfasının güvenli olup olmadığını MUTLAKA kontrol edin !
İnternet tarayıcınızın üst kısmında bulunan adres bölümünde bulunan adresin "https://" olup olmadığını kontrol edin. “https://”’in sonunda bulunan “s” harfi bu sayfanın güvenli ve çeşitli şifreleme metotları ile işlem yaptırdığını belirtir.

Ek olarak, internet tarayıcınızın sağ alt kısmında yer alan kapalı kilit işareti, yine güvenli ve şifrelenmiş bir sayfada işlem yaptığınızı gösterir.



Bu işaret sayfanın SSL ile şifrelendiğini ve sitenin gerçekten çalıştığınız kuruluşa ait olup olmadığını göstermektedir, üzerine iki kez tıklandığında ise; aşağıdaki örnekte görüldüğü gibi bir mesaj çıkacaktır.
-ÖRNEKTİR-
"Issued to: <!-- w --><a class="postlink" href="http://www.abidayibank.com.tr">http://www.abidayibank.com.tr</a><!-- w --> ve "Issued by: <!-- w --><a class="postlink" href="http://www.verisign.com/CPS">http://www.verisign.com/CPS</a><!-- w --> Incorp.by Ref.LIABILITY LTD.©97 VeriSign" bilgileri kontrol edilmelidir.

Unutulmaması gereken noktaların başında ise yukarıda anlatılan bu iki güvenlik önlemi de dolandırıcılar tarafından tekrar oluşturulabiliyor. Bu sebeple; eğer internet bankacılığını veya e-alışveriş yapmak istiyor iseniz yapmanız gereken şey, işlem yapmak istediğiniz sayfayı kendinizin girmesi en güvenilir yoldur.

3. İnternet adresi olarak sayısal rakamlar içeren adresler ile karşılaşırsanız kullanmadan önce MUTLAKA kontrol edin !

Ziyaret ettiğiniz web sitelerinde; adresler çoğunlukla adres kısmı, ardından firmanın ve şirketin ismine ek olarak, com, org, net gibi uzantılar ile biter.

Örneğin; <!-- m --><a class="postlink" href="https://www.abidayibank.com.tr">https://www.abidayibank.com.tr</a><!-- m -->

Sahte sitelerde, çoğu zaman sayısal adresler kullanılmaktadır. Eğer bu tür bir durum ile karşılaşırsanız, direkt olarak çalıştığınız KURULUş İLE İRTİBATA GEÇİN.
- ÖRNEKTİR –( Sahte siteler aşağıdaki gibi sayısal bir link verirler)



4. Size ulaşan e-posta’nın kimden geldiğinden ve doğruluğundan mutlaka EMİN OLMALISINIZ!

Öncelikle gelen e-postanın kimden geldiğine muhakkak emin olmalısınız eğer ki e-posta’nın kimden geldiğinden emin olamıyor veya gönderilen içerik ile ilgili bazı şüpheleriniz oluyor ise mutlaka direkt olarak sizden bilgi talep ettiğini öne süren gerçek kuruluş ile irtibata geçiniz. ÇüNKü ÇALIşTIğINIZ KURUM SİZE ASLA KİşİSEL BİLGİLERİNİZ VEYA şİFRENİZİ SORAN E-POSTA GÖNDERMEZ. BUNU SAKIN UNUTMAYIN!!!

5. Güvenmediğiniz Network(Ağlarda) kesinlikle elektronik işlem yapmayınız. Kullandığınız bilgisayar güvenilir olsa bile eğer networke(Ağa) güvenmiyorsanız ELEKTRONİK İşLEM YAPMAYINIZ!!!

6. Bankanızdan gelen kart ekstrelerini, hesabınızı düzenli olarak kontrol etmeyi unutmayın. Olası aksiliklerde bankanızla ile irtibata KESİNLİKLE GEÇİN.

7. Sisteminizi düzenli olarak kontrol edin. İşletim sisteminizin güvenlik yamalarını yükleyin, antivirüs yazılımınızı devamlı olarak güncelleyin. İNTERNET TARAFINDAN GüNCEL KALMASINI SAğLAYIN

8. Çeşitli kurumlardaki hesaplarınızı veya eğer ki birden fazla e-posta adresiniz var ise kesinlikle kendinizi her biri için FARKLI şİFRELER BELİRLEYİN

9. Belirlediğiniz şifreleri belli aralıklar ile muhakkak değiştirin. Bunu kendinize ALIşKANLIK HALİNE GETİRİN.

10. PHİSHİNG SALDIRILARINA ARACI OLMAYIN!
Dolandırıcılığı gerçekleştirecek kişi veya kişiler phishing yöntemi ile ele geçirdikleri kurumsal veya finansal bilgileri kullanarak hesaplar üzerinden paraları ele geçirme imkփ¢nına sahip olurlar. Paranın hesaptan çekilmesi aşamasında kendilerinin tespitini zorlaştırmak yada hiçbir şekilde tespit edilmemelerini sağlamak için ise şüphelenilmeyecek kişilere Internet üzerinde iş ilanları sunmaktalar. Bu ilanlarda çaba harcamadan kolay para kazanılacağı bunun çok kolay bir iş olduğu şeklinde bilgi verilmektedir.
İnternette verilen bu ilan ile bulunan kişilerin banka hesapları kullanılarak phishing yöntemi ile çalınan hesaplardan para transferi yapılmaktadır. Yine ilan ile bulunan kişiler hesaplarından bu paraları çekmek ve belirli bir komisyon karşılığı dolandırıcılığı gerçekleştiren kişilere parayı uluslararası para transferi yapan şirketler aracılığı ile transfer etmek için kullanılmaktadırlar. Böylece dolandırıcılığı gerçekleştiren kişi yada kişiler kimliklerini gizlemiş olup, ilan aracılığı ile bu işe başvuran kişilere suçu atmış olmaktadırlar.

Bu tip belirli bir parayı alıp, komisyon karşılığında başka bir yere transfer etmek şeklindeki iş ilanları konusunda ÇOK DİKKATLİ olunması gerekmektedir. Bu şekilde yapılan işlem kara para aklama işlemi olup, sonucu kanuni takibata varacak şekide bitmektedir.

11. Eğer böyle bir eyleme maruz kalırsanız size gelen e-postayı kesinlikle silmeyin ve yönlendirdiği web sitesiyle ilgili bilgileri toplamayı deneyin. Örneğin ripe.net’ten whois sorgulaması yapıp ilk bilgileri toplamaya çalışın. Derhal üstlerinize ve bilgi işlem departmanına haber verin. Eğer bireysel kullanıcıysanız bir dilekçe ile hemen savcılığa başvurup ilgili polis birimlerine elden havale alın ve yazıyı polise götürün. Bu tür suçlarda zamanın çok önemli olduğunu hiçbir zaman AKLINIZDAN ÇIKARTMAYIN.

Genel olarak sahte site ile gerçeğini ayırdetmek için aşağıdaki şekli inceleyebiliriz.

KEYLOGGER

Dolandırıcılar phishing yöntemiyle kullanıcının gizli bilgilerini elde etmenin yanı sıra bu bilgilere birde başka bir yöntem olan keyloger adı verilen klavye ve ekran görüntülerini kopyalaybilen programlar vasıtası ulaşabilmekteler. İsterseniz bundan da biraz söz edelim :

KEYLOGGER YÖNTEMİ

İnternet kullanan banka müşterilerinin veya internet üzerinden ticaret yapan kullanıcıların online işlem şifrelerinin çalınmasının bir diğer yöntemi ise keylogger yani klavye tuş girdilerini kayıt eden yazılımlar vasıtasıyla gerçekleşmektedir. Kullanıcıların bilgisayarlarına yerleştirilen keylogger adlı yazılım, bilgisayarda yapılan her türlü işlemlerin bir kaydını tutar ve bu kayıtlar klavyeden girilen bilgilerin yanı sıra ekran görüntüleri de olabilir. Bu kayıtlar ya sistemde bir txt (metin) dosyası olarak tutulur ya da klavye girdileri e-posta ile saldırgana(HACKER) gönderilir.

KEYLOGGER TüRü YAZILIMLAR SİSTEME NASIL GİRİYOR?

1) Kötü niyetli kişiler tarafından yazılan ve işletim sistemlerinin açıklarından yararlanılarak hedef bilgisayarın kısmen veya tamamen yönetici haklarını saldırgana teslim eden truva atı (trojan) adlı yazılımlar aracılığıyla keylogger yazılmları sisteme yüklenirler.

2) Keylogger yazılımı bilgisayara kullanıcı tarafından yüklenebilir:

Örneğin; güvenilmeyen bir bilgisayarda bilgisayar sahibi tarafından sisteme başkaları tarafından giriş yapılması halinde (login olunması) ne gibi işlemler yapıldığı bilgisayar sahibi tarafından bilinmek istenebilir. Bu durumda sisteme yüklenecek bir keylogger yazılımı ile bilgisayarda başka kullanıcıların yaptıkları bütün işlemler kaydedilmiş olur. Eğer bilgisayar pek çok kişiye açık bir ağda ise bilgisayarda yapılan bütün işlemler keyloggerı yükleyen kişi tarafından öğrenilebilir.
Ayrıca işletim sistemlerinde tespit edilen açıklarla sisteme rahatlıkla uzaktan müdahale edilebilmekte ve bu müdahalelerin başında sisteme dosya aktarma, aktarılan dosyayı çalıştırma gibi işlemlerle sonrasında kullanıcılar takip edilebilmektedir. Bu tür açıklar, yamalarla kapanmış olmakla birlikte sistemlerini güncellemeyen kullanıcılar halen büyük bir tehlike altında.
Keyloger ve benzeri programlardan etkilenmemek için:

• Mutlaka işletim sisteminizin güncelleştirmelerini yapın

• Bir güncel ve aktif antivirüs proğramı bilgisayarınızda bulundurun,

• Bankacılık ve önemli işlemlerinizi güvenli olmayan bilgisayarlardan yapmayın,

• Kullandığınız bilgisayarın web browserı (internet tarayıcısı)’nın otomatik tanımlama özelliğindeki “Formlarda kullanıcı adları ve parolalar” ile ilgili kısmın işaretsiz olmasına dikkat edin.
Yukarıda bahsettiğimiz “Formlarda kullanıcı adları ve parolalar” bölümüne şu şekilde giriş yapılmalıdır

şEKİL 1: İnternet Explorer 6.0 için ( Araçlar->İnternet Seçenekleri->İçerik->Otomatik Tamamla)





şEKİL 2: Firefox 1.0 PR İçin ( Araçlar -> Seçenekler -> Gizlilik)



KANUNLARDA BU SUÇ HANGİ MADDELERDE BELİRTİLİYOR?

İsterseniz kanunumuzda bu suçlar hangi maddelerde ve nasıl işleniyor sorularının cevaplarına aşşağıdaki soru-cevapları okuyarak ulaşalım

1- Bu suçun tam tanımı nedir ? (Yeni ve Eski TCK'ya göre)

Bu suçun tam tanımı maalesef hem eski yasamızda hem de yeni yasamızda tam tanımlanmamış. Bu sebeple ancak yorum yoluyla bir sonuca varılabiliyor. Ama ceza hukukunda yorum ancak çok dar bir şekilde yapılabildiği için bu suçun bilişim suçu olarak değerlendirilmesi zordur. Ama bu suça Yeni TCK’da Madde:158/f nin uygulanabilir.

2- Bu gibi suçlar da korunan hukuki menfaat nedir?

Fake(Sahte) mailler ile işlenen bu gibi suçlarda korunan hukuki menfaat kişilerin malvarlığı haklarıdır.

3- Bu olayda Mağdur kimdir( Banka mı yoksa Müşterimi?)

Olayda mağdur müşteridir. Çünkü malvarlığında azalma meydana gelen kişi , hile ve desiseye maruz kalan kişi müşteridir.

4- Bu olayın faili kimdir?

Olayın faili herkes olabilir. Fail olabilmek için yasa herhangi bir özel şart aramamıştır.

5- Suçla mücadelede hukuki olarak nasıl bir yöntem izlenmelidir?

Suçla mücadele için öncelikli olarak yapılması gereken bir adli bilişim biriminin kurulmasıdır.Bu adli tıp içinde de kurulabilir. İkinci olarak hakim ve savcılarımıza yeterli eğitim verilmelidir.üçüncü husus ise servis sağlayıcılara yasal yükümlülükler getirerek bugün delillendirme de yaşanan problemlerin önüne geçilmelidir.

6- Delillendirme nasıl yapılmalıdır?

Delillendirme de en hayati nokta gelen sahte elektronik postanın kağıt çıktısının mahkemeye sunulması değil, elektronik versiyonunun savcıya ya da mahkemeye sunularak üzerinde bilirkişi incelemesi yaptırılmasıdır. Ayrıca sahte postanın yönlendirdiği web sitesine ilişkin bilgilerin ve yine sahte elektronik postanın gönderildiği servis sağlayıcısından alınacak bilgilerin dosyaya konulması gerekir.

7- Başvuru yolları nelerdir?

Böyle bir eyleme maruz kalan kişi derhal bankasını bilgilendirmeli ve ardından TCK'nun dolandırıcılık hükümlerine göre savcılığa dilekçe ile başvurmalıdır. Burada hem mağdura hem savcıya hem de güvenlik güçlerine düşen görev hayati önemdeki birkaç delilin en kısa zamanda toplanmasını sağlamaktır.

8- Uluslar arası hukukta bu olay ne boyuttadır uluslararası hukuk bunu ne olarak görüyor ?

Dünya bu eyleme hazırlıksız yakalandı ve bu sebeple bunu açıkça suç olarak düzenleyen bir yasa maddesi yok. Ancak ABD’li hukukçuların “The Anti – Phishing Act” olarak adlandırdıkları ve Senatör Patrick Leahy tarafından sunulan yasa tasarısı ile ABD’de büyük finansal kayıplara yol açan sahte elektronik posta eylemleri ve bilişim suçları önlenmek isteniyor. Diğer ülkelerin genel eğilimi ceza yasalarındaki bilişim suçlarını düzenleyen hükümlerden faydalanmak yönünde.

Kaynaklar:

1 -turk.internet.com

2 -http://www.hsbc.com.tr/OnlineServisler/Guvenlik/Phishing.asp

3-http://www.hukuki.net/topic.asp?TOPIC_ID=613

4-http://www.pclabs.gen.tr/haberler/news.asp?doc=1181

5-http://www.tcmb.gov.tr/yeni/duyuru/junkmail.htm

6-http://www.tcmb.gov.tr/yeni/duyuru/ytleposta2.htm
( Başkomiser Burak ÇEKİÇ, Polis Memuru Muharrem TAÇ ve hukuksal konulardaki katkılarından dolayı Avukat Ali Osman ÖZDİLEK'e teşekkür ederim)

İnternetin uçsuz bucaksız deryasında yolunuzu şaşırmadan (veya şaşırtılmadan) güvenle seyahat etmeniz dileği ile....

Mustafa SANSAR
Polis Memuru
Bilişim Suçları Büro Amirliği

kaynak: <!-- m --><a class="postlink" href="http://www.iem.gov.tr/iem/?idno=147">http://www.iem.gov.tr/iem/?idno=147</a><!-- m -->

Bu konuyu yazdır

  php nesne tabanlı programlama
Yazar: admin2 - 12-24-2006, 05:17 AM - Forum: Yazılım GeliŞtirme, PHP, C++, python v.b. - Yorum Yok

:: PHP ve Nesneye Yönelik Programlama

PHP'den önce C++ veya benzeri bir dille uğraştıysanız, o zaman OOP (Object Oriented Programming) yani Nesneye Yönelik Programlama (NYP) ile tanışmışsınızdır. NYP ile daha önce uğraşmadıysanız gözünüzü biraz korkutabilir, ama aslında pek korkacak bir şey yok. NYP aslında sadece bir programlama yaklaşımıdır.
Mesela C yapısal bir programlama dili, daha sonra çıkan C++ ise nesne yönelimli bir dildir. NYP üstün özellikleri olan bir yaklaşımdır ama hiç kimse C++ ile yapılan bir programın C ile yazılamayacağını söyleyemez. NYP sadece size programlarınızı yazmanız için olaylara daha değişik bakmanızı sağlayan bir yaklaşım sunmaktadır. Nasıl bir yaklaşım mı,nesnelerle çalşmak tabii...

şimdi diyeceksiniz,yaw kardeşim yıllardır yazıyoz kod, her işimizi de yaptık, nerden çıktı bu nesneler? Ne gibi bi faydası var bunların bize?
NYP'nin getirmiş olduğu pek çok kolaylık ve güzellikler var :

1. 1- Nesne kavramı,nesnelerin metod ve özellikler içermeleriyle, artık programcının kendisine yüklemiş olduğu değişkenler,durumlar,fonksiyonlar arasında bulunan ilişkileri programcıdan alıp nesnenin depolama özelliği sayesinde nesneye yükleyebiliyor. Programcı kendisine yüklemiş olduğu bu sorumluluğu,nesne kavramı ile halledebiliyor.
2. 2- Nesne kavramı gerçek yaşam problemlerini programlamaya aktarmada kolaylık getiriyor.
3. 3- NYP, kalıtım özelliği sayesinde, yazılan kod başka amaçlar için ek özellikler eklenerek tekrar kullanılabiliyor.
4. 4- NYP,ile yazılan kod daha okunabilir ve anlaşılabilir oluyor.
5. 5- NYP ve kalıtım programcıların kollektif çalşmalarına olanak sunuyor.
6. 6- Zor problemleri sunduğu yaklaşım ile daha kolay ve hızlı çözülebilir hale getiriyor.

şimdi de bu yazdıklarıma bakarak diyeceksiniz,yaw neymiş bu NYP, iyice merak ettik... :-)

Aslında NYP daha çok büyük çaplı projelerde kullanılmak üzere tasarlanmştır.Varolan bir projenizi NYP yaklaşımı ile olduğundan daha karmaşık bir şekle de sokabilirsiniz. Ama yukarıda belirttiğim gibi tekrar kullanılabilir,daha okunaklı,sonradan geliştirilmeye açık kod yazmak istiyorsanız ne olursa olsun NYP tam size göre...

Nesne de nesne ? Nedir bu nesne?
Class'lar aslında değişkenler ve fonksiyonlardan oluşan paketler gibidirler.Değişkenlere 'özellik', fonksiyonlara 'metod' denir. Class'lar sadece kendilerinden oluşturulucak nesnelerin yapılarını gösteren tanımlamalardır.
Mesela

Kod:
class ogrenci{
//özellikler
var $ad;
var $soyad;
//metodlar
function isim_ata($str)
{$this->ad=$str;}
function soyadi_ata($str)
{$this->soyad=$str;}
}
$murat = new ogrenci;




şu an için yukarıdaki kodun ne anlama geldiğini anlamanıza gerek yok- birazdan geçeceğiz -sadece şunu görmeniz gerek. Öncelikle ogrenci adlı bir class tanımladık. 'ogrenci' class tanımlaması ile ogrenci class'ı ile oluşturulacak nesnelerin özellik ve metodlarını belirlemiş ve tasarlamş olduk. şu ana kadar herhangi hafızada yer kaplayan bir şey yapmş olmadık. Ama aşağıdaki satır ile varolan bu class yapısından bir nesne oluşturuyoruz.
$murat = new ogrenci;
Artık hafızada bu class yapısının bir kopyası oluşturulup, $murat isimli değişkene atanmş oldu.Aynı şekilde
$mustafa = new ogrenci;
dediğimizde yine hafızada bir kopya daha oluşturulup $mustafa isimli değişkene atanıyor.


PHP ve Nesneler :
Yukarıda da bir giriş yaptığımız üzere artık soyut konuşmayı kesip hemen PHP'nin NYP syntax'ına geçelim. PHP C++ ve JAVA kadar güçlü bir şekilde NYP'yı desteklemese bile bu konuda oldukça iyi olduğunu söyleyebiliriz. Çünkü sonuçta PHP standalone programlar (.EXE programlar) geliştirmek için değil de web üzerinde çalşmak için tasarlanmş bir dildir.Bu yüzden diğer dillere göre daha zayıf bir NYP anlayşı vardır. Java veya c++ ile uğraşanlar için söyleyelim, Multi inheritance,tam anlamıyla depolama,destructor fonksiyonlar desteklenmemektedir. Neyse,geçelim...
Sınıf tanımlaması class kelimesi ile yapılır, tanımlama içinde sınıf metodları ve özellikleri tanımlanır.


Kod:
<?
class ogrenci {
//özellikler
var $ad;
var $soyad;

//özellikler
function ogrenci(){
echo "Ögrenci olusturuldu...";
}

}
?>
Sinif tanimlandiktan sonra sinifi program
içinde kullanmak istedigimizde new operatörünü kullaniriz.
<?
$mustafa = new ogrenci;
?>


Bu andan itibaren hafızada bir ogrenci sınıf kopyası oluşturulur ve $mustafa isimli değişkene atanır. Artık $mustafa isimli bir değişkeni kullanarak sınıfın metod ve özelliklerine erişebiliriz.Bu iş için '->' operatörü kullanılır.


Kod:
<?
$mustafa = new ogrenci;
$mustafa->ogrenci();
echo $mustafa->ad;
echo $mustafa->soyad;
?>


Bu arada dikkat ettiyseniz ogrenci sınıfının ogrenci isimli bir metodu var. Sınıf adıyla aynı isme sahip olan fonksiyonların NYP'da özel bir durumları vardır. Bu fonksiyonlara constructor denir. Yani $mustafa = new ogrenci; ile yeni bir nesne oluşturulduğunda yapılan bir sonraki iş sınıf yapısı içinde constructor fonksiyon varsa onu işlemektir. Mesela $mustafa=new ogrenci; çalştırıldığında

1- Hafızada sınıf yapısının bir kopyası oluşturulacak
2- Constructor fonksiyon - yani ogrenci - çağrılacak ve ekrana 'Öğrenci oluşturuldu' yazılacaktır.

şimdi NYP'ya biraz alştığımıza göre sınıf yapımızı daha düzgün bi şekle getirelim :


Kod:
<?
class ogrenci {
var $ad;
var $soyad;

function ogrenci ($isim,$soyisim){
$this->ad=$isim;
$this->soyad = $soyisim;
}

}
$mustafa = new ogrenci ("Mustafa","Karabulut");
echo "Yeni ögrenci:". $mustafa->ad." ".$mustafa->soyad;
?>


Öncelikle şunu söyleyeyim constructor fonksiyonlar parametre kabul edebilirler,eğer constructor için parametre söz konusu ise yeni nesne oluşturulurken bu parametrelerde verilmelidir. Burada yeni bir şeyler gözünüze çarpmş olmalı: $this ...
Normalde class özelliklerine ve fonksiyonlarına değişken adı ve '->' operatorü ile erişebiliyoruz. Peki ya henüz daha bir değişken oluşturulmadığı durumlarda,sınıf henüz tasarlanırken yani sınıf tanımlaması içinde sınıfın özelliklerine nasıl erişeceğiz. şte burada '$this' devreye girmekte ve içinde bulunulan sınıfın özellik ve metodlarına erişimde kullanılmaktadır.

Bilmemiz gereken bir iki nokta var:
1-Constructor fonksiyonlar nesne oluşturulduğunda otomatik çağrıldıkları için nesnenin ilk özellik ve işlemlerini yaptırmak için oldukça uygundurlar. Eğer bir constructor kullanmıyorsak bu tür ilk atamaları kendimiz bir şekilde yapmak zorunda kalırız.Bu açıdan çoğu durumda constructor kullanmak oldukça avantajlıdır.
2- C++ ve Java'da olduğu gibi destructor fonksiyonlar yoktur.



Kalıtım :
NYP'nin belki de en güzel özelliklerinden birisi de miras kavramıdır. Genellikle benzer özellikler taşıyan sınıflarda aynı özelliklerin tekrar tekrar yazılmasını önler. Varolan bir sınıf yapısına sadece bir kaç özellik daha ekleyerek hem yeni sınıf yapısını elde etmiş ,varolan kodu tekrar kullanılır yapmş ve aynı şeyleri tekrar yazmaktan kurtulmuş olursunuz.
Kalıtım olayı PHP'de extends anahtar sözcüğü ile yapılır.Örneğin :


Kod:
<?
class ogrenci {
var $ad;
var $soyad;
function ogrenci()
{}
}

class liseli extends ogrenci{
var $lise_adi;
function liseli($isim,$soyisim)
{
$this->ad=$isim;
$this->soyad=$soyad;
}


function set_lise_adi($str)
{
$this->lise_adi=$str;
}
}


?>

// Böylece liseli adli ogrenci sinifinin bütün özellik ve
// metodlarini barindiran, ayni zamanda kendine has '$lise_adi'
// ve 'liseli','set_lise_adi' metod ve özelliklerine sahip bir
// sinif yazms olduk.


<?
$murat = liseli ("murat","hüdevandigar");
$murat->set_lise_adi("bilmem ne lisesi");
echo "Ögrencimiz : ".$murat->ad." ".$murat->soyad;
echo "<br>Okulu :" .$murat->lise_adi;
?>



Çok şık di mi ? Sadece kodu bir kere yazıp, çok değişik yerlerde kullanabiliyoruz. Tabii bir kaç nokta var dikkat edilecek :
1- 'liseli' sınıf kopyası hafızada oluşturulduğunda constructor fonksiyon olarak 'liseli' fonksiyonu çağrılır ve 'ogrenci' fonksiyonu çağrılmaz. Çünkü PHP4'de kural şöyledir :
a. Eğer sınıf adına sahip bir fonksiyon varsa onu çağır
b. Eğer yoksa taban sınıfın constructor fonksiyonunu çağır.

NOTTongueHP3'de b kuralı geçerli değildir. Sadece a.kuralı geçerlidir.
2-üst sınıf içinde alt sınıf ile aynı isimde bir fonksiyon varsa, üst sınıfın fonksiyonu geçerlidir.


Kod:
<?
class a {
function c()
{echo "AAA";}
}
class b extends a{
function c()
{echo "BBB";}

}
$letter = new b;
$letter->c();
?>

Ekrana ne yazacak ? Ekrana "BBB" yazılacaktır. Çünkü üst sınıfın fonksiyonu alt sınıfın fonksiyonunun üstüne yazılmştır.
3- Peki alt sınıfın aynı isimli bir fonksiyonunu üstüne yazılıyorsa, alt sınıftaki aynı isimli fonksiyona erişmek için ne yapacağız ? Mesela yukarıdaki örnek için ekrana 'AAA' yazdırmamız gerekiyor ise ne yapacağız ? Burada 'parent::' anahtar kelimesini kullanacağız.

Kod:
<?
class a {
function c()
{echo "AAA";}
}
class b extends a{
function c()
{
parent::c();
echo "BBB";
}

}
$letter = new b;
$letter->c();
?>

parent::c() ile bir alttaki sınıfın c() fonksiyonunu çağırıyoruz. Böylece bu örnekte ekrana :
AAABBB yazılacaktır.

Buraya kadar NYP,Class,PHP'nin NYP syntax'ını gördüğümüze göre şimdi de güzel bir örnek ile bilgilerimizi pekiştirelim...


Dosyalama islemlerini yapan basit bir sinif yapisi:
Böylece hem dosya işlemlerini yapan fonksiyonları inceleyip hem de sınıf kullanarak NYP kavramına biraz daha ısınalım.
şu işlemleri yapan bir sınıf yazalım :
1- Dosyaya kayıt ekleyen
2- Dosyadan kayıt silen
3- Dosyada kayıt arayan

Kod:
<?
######################################################
# #
# Coded By : Mustafa Karabulut (mkarabulut@ceviz.net) #
# Purpose : Just to share knowledge #
# Respect please: Do not sell or republish,reuse without #
# permission of the owner #
# #
# #
# Stand firm in the straight path as you are commanded #
#######################################################

class filemanager{
var $filepath;
var $records;
var $recordSep;
var $fieldSep;
var $error;
function filemanager($file,$rsep="\r\n",$fsep="|"){
//dosyayi aç
if ($dosya = @fopen ($file,"r")){
//tüm dosyanin içeriğini oku ve
$content=fread($dosya,filesize($file));
//bütün içeriği kayitlara parçala
$this->records=explode($rsep,$content);
//kayit ve alan ayraçlarini belirle
$this->recordSep=$rsep;
$this->fieldSep =$fsep;
//dosya path
$this->filepath=$file;
} else {
$this->error[]="$file açilamadi";
}
@fclose($dosya);
} // function file manager sonu
function add_record ($newrecordarray){
//diziyi kayit formatina getir
$newrecordstr=implode($this->fieldSep,$newrecordarray);
//kaydi ekle
$this->records[]=$newrecordstr;
}
function delete_record($recordnumber){
$first_slice = array_slice($this->records,0,$recordnumber);
$second_slice = array_slice($this->records,$recordnumber+1);
$this->records = array_merge($first_slice,$second_slice);
}
function find_record($recordname){
//sadece isme göre arar
for($i=0;$i<count($this->records);$i++){
$fields=explode($this->fieldSep,$this->records[$i]);
if ($fields[0]==$recordname){
return $i;
}
}
}

function update_file(){
//kayitlari dosya formatinda birlestir
$recordstr=implode($this->recordSep,$this->records);
$dosya=fopen($this->filepath,"w");
fwrite($dosya,$recordstr);
fclose($dosya);
}
} // class sonu


şimdi biraz açıklama yapmamız gerek sanırım :-).

Önce dosyamızın ve programımızın çalışma mantığı üzerine bir şeyler söyleyelim. Dosyamızda kayıtlarımızı ve kayıtların alanlarını ayırmak için özel karakterler kullanıyoruz.Mesela
Mustafa|Karabulut|Programcı'\r\n'şahin|Gür|Webmaster

Her kaydı \r\n karakterleri ile ayırıyoruz. Bu Windows sistemlerde alt satıra geçme karakteridir.Text dosyamızı notepad ile açtığımızda her kaydın bir satır teşkil ettiğini görürsünüz. Dosya yapımıza göre her kayıt 3 alandan oluşuyor. İsim,soyisim ve meslek... Kaydın alanlarını ayırmak için ise '|' karakterini kullanıyoruz.


function filemanager($file,$rsep="\r\n",$fsep="|"){
...
}


Constructor fonksiyon tek parametre,isteğe göre 2 veya 3 parametre ile çalışabiliyor.İlk parametre kesin verilmesi gereken dosya adı-dosyanın yolu desek daha doğru olur-,2. ve 3. parametreler ise eğer verilirse dosya için geçerli kayıt ve alan ayraçlarını belirliyor.Örneğimizde bu değerler için default parametreler verdiğimizden,bunları yazmazsak bahsettiğimiz değerler kullanılacak.
Constructor'da dosya açılıp,bütün içeriği okunduktan sonra içeriği kayıt ayraç karakteri ile parçalayıp tüm kayıtları bir diziye atıyoruz.Bunu explode fonksiyonu ile yapıyoruz.
$this->records=explode($rsep,$content);
Explode fonksiyonu kısaca,ikinci parametresi ile verilen stringi birinci parametredeki stringe göre parçalar ve her elemanı bir diziye atar.

Örneğin:

Kod:
<?
$str="Mustafa#Karabulut#Sahin";
$dizi=explode("#",$str);
/*
artik
$dizi[0]="Mustafa";
$dizi[1]="Karabulut";
$dizi[2]="Sahin";
*/
?>


Explode fonksiyonunun tam ters işlemini ise implode yapmaktadır.Kısaca verilen bir diziyi istenilen bir karakter ile birleştirip bir string verir.Mesela yukarıdaki $dizi değişkenini kullanırsak :

Kod:
<?
$yeni_str=implode("&",$dizi);
/*
$yeni_str="Mustafa&Karabulut&Sahin";
*/
?>

Diğer sınıf metodlarımız ise adlarından anlaşılacağı üzere kayıt ekleme,kayıt bulma ve kayıt silme işlemlerini yapıyor. Ama gene de program içinde kullandığımız bir kaç fonksiyonu burada anlatsak iyi olur heralde:

array_slice: Bu fonksiyon verilen bir dizi içinden belirli bir parçayı alıp yeni bir dizi geri dönderir. Kullanımı:

array_slice($eski_dizi,$baslangicindis,$kac_tane);

Kod:
<?
$dizi = array ("Mustafa","Karabulut","Sahin","Gür");
$yeni_dizi=array_slice ($dizi,0,2);
$yeni_dizi2=array_slice($dizi,2,2);
$yeni_dizi3=array_slice($dizi,2);
?>

şimdi bakalım: $yeni_dizi değişkenine $dizi değişkeninin 0.elemanından itibaren 2 eleman atıyoruz.Böylece $yeni_dizi dizisinde "Mustafa","Karabulut" elemanları var artık.
$yeni_dizi2,ise 2. elemandan itibaren 2 eleman alıyor, yani elemanları "şahin" ve "Gür".
Son kullanımda ise değişik bir şey var,fonksiyona son parametre verilmemiş, eğer fonksiyona son parametre verilmezse,verilen 2. parametreden itibaren dizinin sonuna kadar olan bütün elemanlar atılır.Yani
$yeni_dizi3 dizisinde 2.elemandan itibaren $dizi dizisinin sonuna kadar olan bütün elemanlar atılır.Bu da "şahin" ve "Gür" demek oluyor.

array_merge : Verilen iki veya daha fazla diziyi birleştirip bir dizi geri dönderir.

Kod:
<?
$dizi = array_merge ($yeni_dizi,$yeni_dizi2);
$dizi2= array_merge ($yeni_dizi,$yeni_dizi2,$yeni_dizi3);
?>

Oldukça basit bir kullanımı var di mi ?

Herneyse bu açıklamalardan sonra gelelim, sınıf yapımızı kullanan bir örnek yazmaya, aşağıdaki koda bir bakın:


//örnek kullanım

Kod:
$filem=new filemanager("deneme.txt");
$filem->add_record(array("Mustafa","Karabulut","Programci"));
$filem->add_record(array("Erdal","güler","The Bozo"));
$filem->add_record(array("Sahin","Gür","WEpmaster"));
$filem->add_record(array("Hakan","Mustak","Coder"));
$filem->add_record(array("billy","GAtez","Windowzcu"));
$silinecek= $filem->find_record("Mustafa");
echo "$silinecek kaydi silinecek...";
$filem->delete_record($silinecek);

//her zaman bunu yaparak bitirmemiz gerekiyor
$filem->update_file();
?>

Gördüğünüz gibi sınıf yapınısını bir kere yazdıktan sonra,sınıfı metodları kullanarak oldukça şık,zarif kodlar ortaya çıkabiliyor. Kod karmaşıklıktan kurtulup daha okunabilir bir hale geliyor. Kendinizi sanki PHP'nin built-in sınıflarını ve fonksiyonlarını kullanıyor gibi hissediyorsunuz.Ayrıca başkaları da sizin sınıf ve metdolarınızı kullanarak kendi kodlarını yazabiliyor. Bu da kodun taşınabilir ve tekrar tekrar kullanılabilirliğini artırmış oluyor.

Herneyse,bu örnek ile beraber, NYP'ya bir adım atmış olduk. Yukarıdaki sınıf yapısını daha da geliştirebiliriz aslında. Mesela constructor fonksiyonda,sınıfın error özelliğini kullandık ama diğer fonksiyonlarda kullanmadık. $this->error kullanılarak sınıfa get_last_error,get_all_errors,error_exists gibi kontrol metodları ekleyebilirsiniz. Bu metodları kullanarak fonksiyonların istenmeyen bir iş yapmasını engelleyebilirsiniz. Mesela olası bir dosya açılma hatası olmuşsa,delete_record metodunun çalışmasını durdurabilirsiniz.

Kod:
<?
function error_exists(){
if (isset($this->error)){
return true;
} else {
return false;
}
}
function delete_record($num){
if (!$this->error_exists){
// islemleri yap
}
}
?>

Aynı şekilde diğer metodlarıda istenmeyen durumlara karşı koruyabilirsiniz.

şimdilik bu kadar. Gelecek yazıda görüşmek üzere.Bu yazı hakkındaki eleştirilerinizi,görüşlerinizi ve yayınlanmasını istediğiniz yazı konularını hem forumlarımıza yazabilir hemde <!-- e --><a href="mailto:mkarabulut@ceviz.net">mkarabulut@ceviz.net</a><!-- e --> adresine postalayabilirsiniz.
Görüşmek üzere.

kaynak:http://www.ceviz.net/index.php?case=article&id=77

Bu konuyu yazdır

  yeni baslayanlar icin php
Yazar: admin2 - 12-24-2006, 05:08 AM - Forum: Yazılım GeliŞtirme, PHP, C++, python v.b. - Yorum Yok

PHP nedir?

PHP (HypertextTonguereProcessor / Hipermetin:Önİşlemcisi) , dinamik web sayfaları oluşturmakta kullanılan sunucu taraflı (server - sided) bir scriptting dilidir. PHP ve HTML kullanarak web sayfaları oluşturabilirsiniz. Bir ziyaretçi sayfanızı açtığı zaman ; sunucu PHP komutlarını yorumlar ve çıktıları ASP, Coldfusion 'da olduğu gibi kullanıcının tarayıcısına (browser'a) gönderir. Fakat PHP diğer web programlarının aksine açık kaynak kodludur (open source) ve platform bağımsız (cross-platform) çalışabilir. PHP ; Windows NT, 2K, XP ve pek çok Unix ve Linux türevinde çalışabilir. Apache web sunucularına modül olarak eklenebilir veya CGI gibi çalıştırılabilir. PHP, Apache'ye modül olarak kurulduğu zaman çok esnek ve yüksek performanslı çalışır. İşlem süreçleri oluşturmadan çabucak sonuçları size dönderir.

Sitelerin içeriğini ustalıkla yönetmeye ek olarak PHP, HTTP başlıkları (header) da gönderebilir. Çerez (cookie) oluşturabilir. Doğrulama (authentication) ve yetkilendirme (authorization) yapabilir. PHP size pek çok popüler veritabanı için mükemmel bağlantı ve destek imkanı sunar. ODBC üzerinden diğer veritabanlarına da bağlanabilir ve bir çok yardımcı kütüphanesi sayesinde görüntü işlemeden XML ayrıştırmaya (XML parsing) PDF dökümanları oluşturmaktan WML (Wap Markup Language) sayfaları oluşturmaya yardımcı olur.

PHP, direkt olarak web sayfalarımızın içine gömüldüğü için harici bir IDE 'ye (Integrated Development Environment - Bütünleşik Geliştirme Ortamı) ihtiyaç duymaz. NotePad veya pico gibi uygulamalar ile PHP kodları yazmanız mümkündür. PHP kodları <? işareti ile başlar ve ?> ile biter.

PHP'nin sözdizim'i (syntax) C'ninkine veya Perl'ünkine çok benzer. Bir değişkeni kullanmadan önce onu deklare etmenize gerek yoktur! Çok boyutlu ve birleşik diziler oluşturmak (associative arrays) çok kolaydır. PHP'nin kodları organize etmek için basit nesne yönelimli (object oriented) özellikleri vardır.

PHP en hızlı Apache'ye gömülü olduğu zaman çalıştığı halde, Microsoft IIS (Internet Information Services) Netscape Enterprise Server, Xitami Web Server gibi web sunucu uygulamalarında da rahatlıkla çalışabilir.

PHP'nin resmi sitesi <!-- m --><a class="postlink" href="http://www.php.net">http://www.php.net</a><!-- m --> dir. Bu adresden PHP'nin desteklenen tüm işletim sistemleri için kaynak kodlarını (source codes) ve derlenmiş hallerini (binary) indirebilirsiniz. PHP.NET adresinden PHP'nin el kitabını (manual) 'da PDF, HTML, CHM , ZIP .. gibi bir çok farklı formatta indirebilirsiniz.

PHP sözdizimi (syntax)

<?
echo "Merhaba dünya!";
?>

kodu bize ;

Merhaba Dünya!

çıktısını üretir.

Değişkenler önünde $ işareti ile gösterilir. Merhaba Dünya'yı şu şekilde de yazabiliriz:

<?
$mesaj = "Merhaba Dünya!";
echo $mesaj;
?>

String toplamaları . (nokta) ile yapılır. Diğer aritmetik operatörler de tahmin ettiğiniz gibidir.

<?
$giris = "Merhaba";
$sayi = 3 + 2;
$sayi++;
echo "$giris $sayi güzel insan!";
?>

kodu bize ;

Merhaba 6 güzel insan!

çıktısını üretir. $sayi++ ifadesinin, değişkenin o anki değerini bir artırdığına dikkat etmişinizdir.

PHP deki bir çok operatör ve fonksiyon C veya C++ dillerindekilere çok benzerdir. Eğer C dili ile önceden biraz haşır-neşir olumuşsanız PHP size hiç de zor gelmeyecektir. Ayrıca şu kuralı hiç bir zaman aklınızdan çıkarmayın! "Eğer bir şeyin nasıl yapılacağından emin değilseniz hemen birşeyler deneyin büyük ihtimalle çalışacaktır."

Perl'de olduğu gibi " " (çif tırnaklar) içine yazılan değişkenler işlendiği halde ' ' (tek tırnaklar) içine yazılan değişkenler işlenmezler. Örneğin ;

<?
$isim = 'Emel';
$giris_1 = "Merhaba , $isim";
$giris_2 = 'Merhaba , $isim';
echo "$giris_1\n";
echo "$giris_2\n";
?>

kodları bize;

Merhaba , Emel
Merhaba , $isim

çıktısını üretir. İlk değişken ve ikinci değişkendeki " ve ' lara dikkat etmişinizdir. Stringlerin içindeki \n ifadesi ile satırlar alt alta yazdırılır. \n kullanılmasa yan yana yazılacaklardı.

Değişkenler

PHP'de yerel değişlenlerin yanı sıra bazı global değişkenlerde vardır. Bu çevre değişkenleri PHP'nin çalıştığı sunucu (server) hakkında bazı bilgiler içerirken örneğin: Sunucunun işletim sistemi, bilgisayar ismi vs.. istemci (client) hakkında bazı bilgiler de içerir. Mesela, kullanıcının kullandığı işletim sistemi, hangi url'den tıklayarak o zayfaya geldiği, ip adresi vs.

<?
echo $HTTP_USER_AGENT;
?>

kodları bize eğer istemcinin yani PHP sayfamızı tarayıcısından açan bir kullanıcının kullandığı tarayıcı Internet Explorer ise ;

Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

çıktısını üretir.

Diziler

Eğer değişkeninizin sonuna [ ] köşeli parantez eklerseniz dizi tanımlamış olursunuz. Örneğin;

$meyve[0] = 'Elma';
$meyve[1] = "Portakal";
$ornek['meyve'] = "Erik";
$ornek2['okul']['lise'] = "Sedat KURBAN";

Yukardaki örneklerde görüldüğü üzere tek boyutlu ve çok boyutlu diziler tanımlamanız ve bunları çok rahat bir şekilde kullanmanız mümkün.

Döngüler ve Kontrol Yapıları

for ve while gibi döngü yapılarını şu şekilde kullanıyoruz ;

<?
for ($i=4 ; $i < 7 ; $i++) {
echo "Bugün $i balık tuttum.\n"; }
?>

kodları bize ;

Bugün 4 balık tuttum.
Bugün 5 balık tuttum.
Bugün 6 balık tuttum.

çıktısını üretir. Aynı çıktıyı ;

<?
$i=4;
while ($i<8) {
echo "Bugün $i balık tuttum.\n";
$i++; }
?>

kodları ile de alabiliriz... Dilerseniz bu kodları biraz irdeleyelim : for döngüsünde parantez içindeki kısma dikkat edelim. ($i=4 ; $i < 7 ; $i++) ifadesi ile $i isminde bir değişken oluşturuluyor ve ilk değeri 4 olarak atanıyor. Ardından şart kontrol ediliyor. Yani eğer $i 'nin değeri 7 den küçükse şart sağlanmış oluyor ve { } bloğunun içindeki kodlar bir kez icra ediliyor yani çalıştırılıyor ve $i++ ifadesi sayesinde $i 'nin değeri her seferinde bir artırılıyor. Bu işlem $i nin 7 değerini aldığı zaman duruyor. Çünkü 7<7 şartı sağlanmadığı için döngü sonlanıyor. Aynı mantık while için de geçerli... Arada bazı yazım farklılıkları olduğuna dikkat edin.

şimdi gelelim kontrol yapılarına. if ve elseif ifadelerini şu şekilde kullanabiliriz ;

if ($kullanici_sayisi > 150) {
echo "Sitemizde şu an çok fazla kullanıcı var!"; } elseif ($kullanici_sayisi > 100) {
echo "Sitede kullanıcı sayısı ortalama düzeyde..."; } else {
echo "Sitede kullanıcı sayısı az...";
}

Yukarıdaki örnekte iç içe bir kaç kontrol birden yaplıyor. İlk seferde kullanıcı sayısının 150 den büyük ise "Kullanıcı sayısı çok fazla" mesajı iletiliyor. Eğer kullanıcı sayısı 150 den küçükse 100 den büyük olup olmadığına bakılıyor. Eğer kullanıcı sayısı 150 - 100 arasında ise "Kullanıcı sayısı ortalama"... 100 den az ise "Kullanıcı sayısı az" mesajı verdiriliyor.

şimdi de şu örneğe bakalım :

<?
switch ($islem) {
case "ekle":
...... // 1
break;

case "sil":
...... // 2
break;

case "duzelt":
...... // 3
break;

default:
echo "Yanlis islem";
}
?>

Yukarıdaki örnekte switch kontol yapısınının kullanımını görmektesiniz. switch diğer kontrol yapılarından farklı olarak çoklu kontrol yapaibilir. Örneği biraz irdeleyince olayı kavrayacaksınız. $islem değişkeninin değeri kontrol ediliyor. Eğer $islem'in değeri "ekle" ise 1 no lu kısımdaki kodlar icra ediliyor. ..... olan yerlerde tabi bizim kodlarımız var. Aynı şekilde eğer $islem değişkenini değeri "sil" ise 2 nolu kısıma gidiliyor. Eğer $islem değişkenin değeri case'lerde belirtilen değerlerden hiç birine eşit değilse default: kısmındaki kodlar icra edilir.

şimdilik bu kadar. Çok yakında yazının devamında tekrar görüşmek dileğiyle...

Çeviri : Emel Pişmişoğlu , Betül Avanoğlu
Düzenleme : Rifat KURBAN

Bu konuyu yazdır

  iletişim bilgisi
Yazar: ehrkany - 12-22-2006, 06:35 AM - Forum: Yazılım GeliŞtirme, PHP, C++, python v.b. - Yorum Yok

bi iletişim menusu koymak istiyorum... mesaj yazanlar direk benim mailime göndercek....


ad
soyad
Konu

mesaj :



bu konubaşlıkları olcak... benim mailime bilgiler gelce.. böyle hazır sprict veya kodlar abi varmı ?

Bu konuyu yazdır

  çeviri yapılır
Yazar: gzmonsl - 12-20-2006, 08:25 AM - Forum: Eleman İlanları, İŞ İlanları - Yorum Yok

her türlü almanca ingilizce metin çevirilirrrr..

Bu konuyu yazdır



10tl.net Destek Forumu -

Online Shopping App
Online Shopping - E-Commerce Platform
Online Shopping - E-Commerce Platform
Feinunze Schmuck Jewelery Online Shopping