artikel / menggunakan pustaka cgicc

Menggunakan Pustaka CGICC

Menggunakan Pustaka CGICC

Pemrograman CGI dengan C++

install pustaka CGICC

Pustaka CGI yang digunakan dalam artikel ini berasal dari pustaka terbuka GNU.

wget -c https://ftp.gnu.org/gnu/cgicc/cgicc-3.2.19.tar.gz

Buka paket dengan perintah:

tar xzf cgicc-3.2.19.tar.gz

Tahap berikutnya adalah kompilasi. Tahap ini akan membuat pustaka sesuai mesin yang digunakan sesuai arsitektur dan prosessor yang sedang digunakan. Masuk ke direktori paket:

cd cgicc-3.2.19
./configure --prefix=/usr 
make
sudo make install

Lokasi berkas header akan diletakaan di: /usr/include/cgicc dan

cek

Buat program CGI sederhana untuk memeriksa apakah proses instalasi sudah berjalan:


#include  <  iostream >
#include  <  algorithm >
#include  <  cgicc/Cgicc.h >

using namespace std;
using namespace cgicc;

//fungsi untuk membersihkan teks dari perintah Sql Injection
std::string bersihkanTeks(const std::string&amp; str)
{
    // karakter yang akan dihapus
    static const std::string invalidChars = ";:\"'` < >(){}[]*%&amp;!?$\\|";

    // salin string input ke string baru
    std::string result(str);

    // hapus karakter yang tidak valid dari string
    result.erase(std::remove_if(result.begin(), result.end(), [&amp;](char c) {
        return invalidChars.find(c) != std::string::npos;
    }), result.end());

    return result;
}


int main() {
  Cgicc cgi;

  form_iterator getNama = cgi.getElement("nama");
    // header berkas JSON
  cout  <  <  "Content-Type: application/json\r\n";
  cout  <  <  "Cache-Control: no-cache\r\n";
  cout  <  <  "\r\n";

  if (getNama != cgi.getElements().end() &amp;&amp; !getNama->isEmpty()) {
        string nama = bersihkanTeks(**getNama);
        cout  <  <  "{ \"nama\": \""  <  <  nama  <  <  "\" }"  <  <  endl;
    } else {
        cout  <  <  "{ \"status\": \"ERROR\" , \"message\": \"masukkan namamu\" }"  <  <  endl;
  }


  return 0;
}

Compile kode di atas dengan perintah: g++ index.cpp -o index.cgi -lcgicc

Pindahkan index.cgi ke direktori server web. Jalankan dari peramban dengan perintah:

index.cgi?nama=Pikachu

Aplikasi ini akan menghasilkan data JSON

{ "nama": "Pikachu" }

Selayang pandang proyek Perpustakaan Nirkabel

Perpustakaan Nirkabel (wireless library) is a 12-year-old project bringing digital technology to remote areas in Indonesia, empowering basic education and bridging the gap in education. It enables students in remote areas to access knowledge and resources previously out of reach. Witness the tech enthusiasts' brainchild with a heart for education.

detail