CGI Scripting Nasıl Çalışır?

Suskun

Kıdemli Üye
23 Ocak 2012
2,767
679
Germany
giphy.gif


CGI.png


Eğer webi uzun bir süre dolaşmış iseniz CGI yani Common Gateway Interface terimi ile karşılaşmanız muhakkaktır. CGI, bir web serverının diğer uygulamalar ile iletişimini mümkün kılan bir iletişim protokolünü ifade eder. Örneğin, bazen script de denilen bir CGI uygulaması sık olarak web kullanıcılarının bir veri tabanına girmesine veya insanların doldurmuş olduğu formlardan bilgi almasına olanak sağlamak için kullanılır. CGI aynı zamanda, bir web sitesinde kırık bağlantılar olup olmadığını kontrol etmek gibi işler yapan agentlar yaratmak için de kullanılabilir.

Esas olarak CGI içinde webin dış kaynaklarla interaktif olduğu standard bir yoldur. Dış kaynaklar genellikle bir veri tabanıdır. Muhtemelen ne olduğunu bilmeden birçok kez CGI scriptleri ile çalışmışsınızdır. Mesela, bir web sayfasında bir siteyi kullanmak için kayıt yaptırmak için bir form doldurmuş ve karşılığında kullanmanız için size bir parola “password” içeren bir e-mail gönderilmiş ise, muhtemelen bir CGI scripti çalıştırmışsınızdır. Bu durumda CGI scripti muhtemelen sizin formunuzu almış ve üzerinde çeşitli işlemler (bilgileri bir veri tabanına yerleştirmek otomatik olarak bir password yaratmak ve e-maili size göndermek dahil) uygulanmıştır.

CGI ve CGI uygulamaları sıkça birbirine karıştırılır. CGI uygulamaları serverdan bilgi alıp bilgileri CGI aracılığı ile geri getirir. C, C+ + , pascal, applescript ve diğerleriyle de yazılabilmesine rağmen CGI uygulamaları genellikle PERL adı verilen bir programlama dili ile yazılır. CGI ın kendisi bir CGI uygulaması ile HTTP serveri arasındaki iletişimi sağlayan standardize bir ortamdır. İçerisinden web serverın talepleri gönderdiği bir CGI uygulamasının toplayıp geri gönderdiği bilgilerin tasnif edildiği bir “kapı arası” dır.

Kullanıcı verilerini kabul etmek üzere düzenlenen bir web sayfasındaki bilgilerin temin edildiği örnekte, CGI birçok görevi yerine getirir. İlk olarak kendine özel bir bilgi (bir isim veya e-mail adresi) sunularak serverı tarafından işleme alınması sağlanır. Daha sonra ise bilgi server tarafından submit (sunum) şekliyle tanımlanan bir CGI uygulamasına yönlendirilir. Müşteri tarafından faaliyete geçirilir. Son olarak da bir CGI uygulaması bir başka bilgisayar programına forma ait bilgileri gönderir, bir dosyaya saklar, hatta kullanıcının talebine cevap olarak özel bir HTML dökümanı yaratır. Bu bir interaktif form olarak tanımlanır.


Bu bölüme eşlik eden şekilde, bir sinema filmi veri tabanı araştırmasına müsaade eden bir CGI programını gözden geçireceğiz.

•Web sitesini çağıran kişinin CGI programlarına erişebilmesi için programlama bilmesine gerek yoktur. Onun yerine bir programcı CGI programını yazar. CGI için birçok değişik diller kullanılabilir. (C veya C+ + , FORTRAN, Visual basic ve Applescript gibi). C gibi bir program dili ile yazılan bir uygulamanın çalıştırılmadan önce toplayıcı (compiler) adı verilen bir program içinden geçmesi gerekir. Toplayıcı uygulamayı CGI'ın anlayabileceği bir dile çevirir. Scripting dilleri adı verilen diğer dillerin ilk olarak toplayıcıdan geçme zorunluluğu yoktur. Toplama (compiled) programlara oranla CGI scriptlerin daha kolay debug yapılma, modifiye edilme ve muhafazasının yapılması nedeniyle daha sık kullanılmaktadır. CGI scriptlerin yazılımı için kullanılan en popüler dil PERL dir.

Script-Nedir-script-turleri-nelerdir-isnetblog.png


•Program yazıldıktan ve toplandıktan veya script yazıldıktan sonra, program web serverı üzerinde bulunan ve tüm CGI programlarının bulunduğu ve muhafaza edildiği özel bir dizine (/cgi-bin gibi) yerleştirilir. Web serverının sorumluluğunu yüklenen kişi hangi dizinlerin CGI programlarının depolanması ve çalıştırılması için kullanılacağını belirler.

•CGI programının özel bir dizine gönderilmesinden sonra ise bir Web sayfası üzerinde bulunan bir URL içine bağlantı (link) kurulmuş olacaktır.

•Web sitesini ziyaret ettiğiniz ve URL üzerinde “click”lediğiniz zaman CGI programı bir veri tabanı aramanıza müsaade ediyorsa, örnek olarak, HTML formatında bir form gönderecektir. Siz de bunu takiben neyi aradığınızı detaylandıran bir form dolduracaksınız. Bu formu tamamlayıp send üzerinde “click”lerseniz form üzerindeki bilgiler CGI programına gönderilmiş olacaktır.

•CGI programı bir veri tabanı ile temas kurar ve kullanıcının aradığı bilgiyi talep eder. Veri tabanı da istenilen bilgiyi CGI programına gönderir. Bilgi ise çeşitli formatlar halinde olabilir (text, grafik, ses ve görüntü dosyası ve URL gibi).

7z0AWK.png


"*"

 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.