Common Gateway Interface: Perbedaan antara revisi
k bot Menambah: uk:CGI |
Reno-Sifana (bicara | kontrib) k Memperbaiki Hyperlink |
||
(44 revisi perantara oleh 27 pengguna tidak ditampilkan) | |||
Baris 1: | Baris 1: | ||
{{kegunaan lain |
{{kegunaan lain|CGI}} |
||
[[Berkas:CGI common gateway interface.png |jmpl|ka|260px]] |
|||
'''Common Gateway Interface''' atau disingkat '''CGI''' adalah suatu [[protokol (komputer)|protokol]] standar untuk menjembatani [[perangkat lunak]] [[aplikasi]] eksternal dengan suatu [[server]], yang umumnya berupa [[server web]]. Protokol ini memberikan kemampuan bagi server untuk menyampaikan permintaan dari [[penjelajah web]] [[klien (komputer)|klien]] kepada aplikasi eksternal. Server web selanjutnya dapat mengembalikan keluaran dari aplikasi kepada penjelajah web tersebut. |
|||
'''Common Gateway Interface''' atau disingkat '''CGI''' adalah suatu [[standar]] untuk menghubungkan berbagai program aplikasi ke [[web|halaman web]]. |
|||
CGI mirip sebuah [[program komputer]] yang menjadi perantara antara standar [[HTML]] yang menjadikan tampilan [[web]] dengan [[program]] lain, seperti [[basis data]] (''database'').<ref name="wk">Wahana Komputer, ''Kamus Istilah Internet'', halaman 15. ANDI.</ref> Hasil yang diperoleh dari proses pencarian dikirimkan kembali ke halaman web untuk ditampilkan dalam format HTML.<ref name="wk"/> |
|||
⚫ | |||
== Pendahuluan == |
|||
⚫ | |||
Pada awalnya CGI adalah salah satu yang mendekati [[aplikasi]] ''server-side programming''.<ref name="andi">Andi Sunyoto, M. Kom (Amikom Yogyakarta), ''Ajax Membangun Web dengan Teknologi Asynchronouse JavaScript & XML'', hal 121. ANDI.</ref> Program CGI yang sering digunakan adalah [[C++]] dan [[Perl]].<ref name="andi"/> CGI merupakan bagian dari [[web server]] yang dapat ber[[komunikasi]] dengan program lain yang ada di [[server]].<ref name="sr">Suwanto Raharjo S.Si, M.Kom & Dr. Jazi Eko Istiyanto, M.Sc. ''Keamanan Akses ke PostgreSQL Melalui PHP (Menggunakan Apache Web Server pada GNU / Linux)''</ref> Dengan CGI web server dapat memanggil program yang dibuat dari berbagai [[bahasa pemrograman]] (''Common'').<ref name="sr"/> Interaksi antara pengguna dengan berbagai aplikasi, misalnya [[database]], dapat dijembatani oleh CGI (''Gateway'')<ref name="sr"/> |
|||
* {{en}} [http://hoohoo.ncsa.uiuc.edu/cgi/ The CGI/1.1 specification] |
|||
Kemampuan CGI ini dapat digunakan untuk Web Server IIS. |
|||
== Sejarah CGI == |
|||
{{Standar W3C}} |
|||
CGI (''Common Gateway Interface'') merupakan skrip tertua dalam bidang pemrograman web.<ref name="frans">Frans, ''Membuat Web Dinamis dan Interaktif dengan CGI'', halaman 4-5. ANDI.</ref> [[Script|Skrip]] bisa didefinisikan sebagai rangkaian dari beberapa instruksi program.<ref name="frans"/> Untuk membuat skrip yang dapat dijalankan pada web diperlukan pengetahuan [[pemrograman]].<ref name="frans"/> |
|||
CGI sendiri telah muncul sejak [[teknologi]] web diperkenalkan di [[dunia]] pada awal [[tahun]] [[1990]], bersama dengan kemunculan [[CERN]], web server pertama di dunia.<ref name="frans"/> CGI disediakan sebagai ''[[Perkakas|tool]]'', atau perlengkapan untuk membuat program web.<ref name="frans"/> CGI digunakan untuk membuat program-program tampilan web yang lebih interaktif, koneksi ke basis data, bahkan membuat permainan (''game'').<ref name="frans"/> |
|||
{{software-stub}} |
|||
CGI pada masa-masa awalnya dibuat dengan [[bahasa C]], [[bahasa]] yang juga digunakan untuk membuat web server [[pertama]] yaitu, CERN. CGI kemudian diadopsi oleh NCSA (''National Central for Supercomputing Application'') web server, dan hingga kini masih digunakan pada [[Apache HTTP Server|Apache Web Server]], web server yang paling banyak digunakan oleh [[komunitas]] [[Internet]] saat ini.<ref name="frans"/> |
|||
⚫ | |||
Walaupun demikian CGI bisa juga direalisasikan dengan banyak bahasa pemrograman lain. Mulai dari [[Bahasa C|C]], [[Perl]], [[Ruby (bahasa pemrograman)|Ruby]],<ref name="cgiruby">{{cite web|url=https://ruby-doc.org/stdlib-1.9.3/libdoc/cgi/rdoc/CGI.html|title=Pemrograman CGI dengan Ruby|language=en|accessdate=2018-05-27}}</ref> [[Python]], [[PHP]], Tcl/Tk, hingga skrip ''shell'' pada [[UNIX]] / [[Linux|LINUX]].<ref name="frans"/> |
|||
== Keamanan Program CGI == |
|||
CGI sering kali digunakan sebagai mekanisme untuk mendapatkan [[informasi]] dari user melalui ''fill out form'', mengakses [[basis data]] (database), atau menghasilkan halaman yang dinamis. meskipun secara prinsip mekanisme CGI tidak memiliki lubang [[keamanan]], program atau skrip yang dibuat sebagai CGI dapat memiliki lubang keamanan ataupun tidak sengaja). Potensi lubang keamanan yang digunakan dapat terjadi dengan CGI antara lain:<ref>Deris Stiawan, ''Sistem Keamanan Komputer'', halaman 138-139. Elex Media Komputindo.</ref> |
|||
* Seorang pemakai yang nakal dapat memasang skrip CGI sehingga dapat mengirimkan berkas [[kata kunci]] (''[[password]]'') kepada pengunjung yang mengeksekusi CGI tersebut. |
|||
* Program CGI dipanggil berkali-kali sehingga server menjadi terbebani karena harus menjalankan beberapa program CGI yang menghabiskan [[memori]] dan [[CPU]] ''cycle'' dari web server |
|||
== Referensi == |
|||
{{reflist}} |
|||
⚫ | |||
⚫ | |||
* {{en}} [http://hoohoo.ncsa.uiuc.edu/cgi/ The CGI/1.1 specification] {{Webarchive|url=https://web.archive.org/web/20021003125844/http://hoohoo.ncsa.uiuc.edu/cgi/ |date=2002-10-03 }} |
|||
⚫ | |||
[[cs:Common Gateway Interface]] |
|||
[[da:CGI]] |
|||
[[de:Common Gateway Interface]] |
|||
[[en:Common Gateway Interface]] |
|||
[[eo:CGI]] |
|||
[[es:Interfaz de entrada común]] |
|||
[[et:CGI]] |
|||
[[fi:CGI]] |
|||
[[fr:Common Gateway Interface]] |
|||
[[he:Common Gateway Interface]] |
|||
[[hu:CGI (protokoll)]] |
|||
[[is:Common Gateway Interface]] |
|||
[[it:Common Gateway Interface]] |
|||
[[ja:Common Gateway Interface]] |
|||
[[ko:공용 게이트웨이 인터페이스]] |
|||
[[lt:CGI]] |
|||
[[nl:Common Gateway Interface]] |
|||
[[no:Common Gateway Interface]] |
|||
[[pl:CGI]] |
|||
[[pt:CGI]] |
|||
[[ru:CGI]] |
|||
[[sk:Common Gateway Interface]] |
|||
[[sl:Common Gateway Interface]] |
|||
[[sv:Common Gateway Interface]] |
|||
[[uk:CGI]] |
|||
[[zh:通用网关接口]] |
Revisi terkini sejak 29 Februari 2024 15.47
Common Gateway Interface atau disingkat CGI adalah suatu standar untuk menghubungkan berbagai program aplikasi ke halaman web.
CGI mirip sebuah program komputer yang menjadi perantara antara standar HTML yang menjadikan tampilan web dengan program lain, seperti basis data (database).[1] Hasil yang diperoleh dari proses pencarian dikirimkan kembali ke halaman web untuk ditampilkan dalam format HTML.[1]
Pendahuluan
[sunting | sunting sumber]Pada awalnya CGI adalah salah satu yang mendekati aplikasi server-side programming.[2] Program CGI yang sering digunakan adalah C++ dan Perl.[2] CGI merupakan bagian dari web server yang dapat berkomunikasi dengan program lain yang ada di server.[3] Dengan CGI web server dapat memanggil program yang dibuat dari berbagai bahasa pemrograman (Common).[3] Interaksi antara pengguna dengan berbagai aplikasi, misalnya database, dapat dijembatani oleh CGI (Gateway)[3] Kemampuan CGI ini dapat digunakan untuk Web Server IIS.
Sejarah CGI
[sunting | sunting sumber]CGI (Common Gateway Interface) merupakan skrip tertua dalam bidang pemrograman web.[4] Skrip bisa didefinisikan sebagai rangkaian dari beberapa instruksi program.[4] Untuk membuat skrip yang dapat dijalankan pada web diperlukan pengetahuan pemrograman.[4]
CGI sendiri telah muncul sejak teknologi web diperkenalkan di dunia pada awal tahun 1990, bersama dengan kemunculan CERN, web server pertama di dunia.[4] CGI disediakan sebagai tool, atau perlengkapan untuk membuat program web.[4] CGI digunakan untuk membuat program-program tampilan web yang lebih interaktif, koneksi ke basis data, bahkan membuat permainan (game).[4]
CGI pada masa-masa awalnya dibuat dengan bahasa C, bahasa yang juga digunakan untuk membuat web server pertama yaitu, CERN. CGI kemudian diadopsi oleh NCSA (National Central for Supercomputing Application) web server, dan hingga kini masih digunakan pada Apache Web Server, web server yang paling banyak digunakan oleh komunitas Internet saat ini.[4]
Walaupun demikian CGI bisa juga direalisasikan dengan banyak bahasa pemrograman lain. Mulai dari C, Perl, Ruby,[5] Python, PHP, Tcl/Tk, hingga skrip shell pada UNIX / LINUX.[4]
Keamanan Program CGI
[sunting | sunting sumber]CGI sering kali digunakan sebagai mekanisme untuk mendapatkan informasi dari user melalui fill out form, mengakses basis data (database), atau menghasilkan halaman yang dinamis. meskipun secara prinsip mekanisme CGI tidak memiliki lubang keamanan, program atau skrip yang dibuat sebagai CGI dapat memiliki lubang keamanan ataupun tidak sengaja). Potensi lubang keamanan yang digunakan dapat terjadi dengan CGI antara lain:[6]
- Seorang pemakai yang nakal dapat memasang skrip CGI sehingga dapat mengirimkan berkas kata kunci (password) kepada pengunjung yang mengeksekusi CGI tersebut.
- Program CGI dipanggil berkali-kali sehingga server menjadi terbebani karena harus menjalankan beberapa program CGI yang menghabiskan memori dan CPU cycle dari web server
Referensi
[sunting | sunting sumber]- ^ a b Wahana Komputer, Kamus Istilah Internet, halaman 15. ANDI.
- ^ a b Andi Sunyoto, M. Kom (Amikom Yogyakarta), Ajax Membangun Web dengan Teknologi Asynchronouse JavaScript & XML, hal 121. ANDI.
- ^ a b c Suwanto Raharjo S.Si, M.Kom & Dr. Jazi Eko Istiyanto, M.Sc. Keamanan Akses ke PostgreSQL Melalui PHP (Menggunakan Apache Web Server pada GNU / Linux)
- ^ a b c d e f g h Frans, Membuat Web Dinamis dan Interaktif dengan CGI, halaman 4-5. ANDI.
- ^ "Pemrograman CGI dengan Ruby" (dalam bahasa Inggris). Diakses tanggal 2018-05-27.
- ^ Deris Stiawan, Sistem Keamanan Komputer, halaman 138-139. Elex Media Komputindo.
Pranala luar
[sunting | sunting sumber]- (Inggris) The CGI standard at w3.org
- (Inggris) The CGI/1.1 specification Diarsipkan 2002-10-03 di Wayback Machine.