Cgi-bin nedir?

CGI-Bin (Common Gateway Interface – Binary) bir dizin olarak adlandırılır ve web sunucusu üzerinde çalıştırılacak olan CGI (“Ortak Ağ Geçidi Arayüzü”) uygulamalarının yerleştirildiği yerdir. Bu uygulamalar, web tarayıcısından herhangi bir isteğe cevap veren, genellikle bir web formu doldurularak çalıştırılan programlardır. İnternet teknolojisi CGI, istemci ve program arasındaki veri aktarımı için bir arabirimdir. CGI, bir web sayfasının etkileşimli olmasına izin veren mevcut en eski yöntemdir.

CGI-BIN Nedir?

Cgi-bin klasörü ne işe yarar, silinmeli midir?

Cgi bin genellikle boş bir klasörden oluşur ve FTP’de public_html (httpdocs veya httpsdocs) içerisinde yer alır. WordPress veya kullandığınız CMS ile aynı dizinde bulunabilir. Bu klasörü ve içindeki dosyaları rahatlıkla kaldırabilirsiniz, sistemiz bu durumdan etkilenmez. Bu betiklerden yararlanmak aksine sunucuzunu savunmasız bırakabilir ve saldırganlara erişim imkanı (exploit) sağlar.

CGI nedir?

CGI, National Center for Supercomputing Applications (NCSA) tarafından 1993 senesinde “NCSA HTTPd” web sunucuları için geliştirilmiştir. Sorgu dizesindeki veriler web sunucusu tarafından çağrılan CGI programına ortam değişkenleri olarak aktarılır ve program tarafından parametre olarak kullanılır. Program, işlemin sonucunu web sunucusuna; web sunucusu da bunu tarayıcıya geri gönderir.

CGI programları temelde web sunucusu tarafından statik HTML sayfalarından farklı muamele görür. Bu nedenle, CGI programlarının özel izinlere (çalıştırılabilir) ihtiyacı vardır. Genellikle bu tür programlar bir dizinde bir araya getirilir ve bu dizindeki tüm dosyalara gerekli izinler verilir. Böyle bir dizin için yaygın ad cgi-bin’dir.

  • CGI için yaygın olarak kullanılan komut dosyası dilleri; Perl, Python ve Ruby’dir.

Yaygın olarak kullanılan Apache web sunucusunda, mod_perl modülünü yükleyerek CGI programlarını süreç içinde çalıştırmak artık mümkündür. Bu nedenle web sunucusu Perl betiklerini kendisi yorumlayabilir ve harici bir Perl yorumlayıcısını çağırması gerekmez.