Langsung ke konten utama

Membuat Webservice Dengan Codeigniter

Assalamu'alaikum WR WB.
Hello Gays, Pada kesempatan ini, disela-sela kesibukan mencari nafkah. saya akan sedikit share, "Bagaimana membuat webservice dengan PHP (Codeigniter)".
Sedikit saran untuk anda para pembaca, untuk menambahkan fitur keamanan pada webservice Server, ada beberapa yang perlu kita tambahkan

  1. Kita perlu membatasi pengakses dengan menggunakan key atau token unik.
  2. Kita juga perlu membatasi IP atau host client pengakses untuk meminimalisir penyalahgunaan data yang kita sediakan pada API.

baiklah kita mulai saja. dibawah ini adalah langkah-langkah untuk membuat webservice server :

  1. Siapkan project Codeigniter didalam folder htdocs atau www
  2. Kemudian buat file apache konfigurasi dengan nama .htaccess
  3.  Tulis kode berikut untuk mempercantik url, jadi ketika akan mengakses webservice juga url nya mudah untuk diingat.

    RewriteEngine on
    RewriteCond $1 !^(index\.php|resources|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L,QSA]
  4. Kemudian buka file autoload.php yang ada pada folder application/config. tambahkan helper url untuk mengaktifkan penggunaan function base_url.
  5. Kemudian buka file config.php yang ada pada folder application/config. Hapus index_page pada pengaturan.

    $config['index_page'] = '';
  6. Kemudian ubah juga pada base_url sesuai dengan hostname yang anda gunakan.
    contoh :

    $config['base_url'] = 'http://send_api.host.com/';
  7. Kemudian silahkan anda test dengan cara. buka browser kalian kemudian masukkan url base_url kalian.
  8. Jika sudah berhasil kita lanjutkan ke tahap selanjutnya.
  9. Sekarang kita buat file misal dengan nama Webservice.php didalam folder application/controllers.
  10. Kemudian kita tambahkan class dan pengaturan lain didalam file Webservice.php  //Agar file controller tidak dapat diakses langsung dari folder controllers
    defined('BASEPATH') OR exit('No direct script access allowed');
    //nama class harus sama dengan nama file serta adanya penambahan extend yang dimaksudkan bahwa class webservice adalah turunan dari class ci_controller
    class Webservice extends CI_Controller{ //put your code here
    }

  11. Sekarang kita coba untuk membuat function(method) didalam class Webservice

    public function mahasiswa() {
    //membatasi pengguna berdasarkan host/ip
    header('Access-Control-Allow-Origin:*');
    //penggunaan request method hanya GET
    header('Access-Control-Allow-Methods: GET');
    //validasi token contoh token:1234
    if ($_SERVER['HTTP_TOKEN'] == '1234') {
    echo json_encode([
    "status" => 200, //code sukses
    "text" => $this->input->get("id", true),
    "server" => $_SERVER
    ]);
    } else {
    echo json_encode([
    "status" => 400, //kode gagal
    "text" => "Token tidak dikenali",
    "server" => $_SERVER
    ]);
    }
    }
  12. untuk mengaksesnya kita butuh parameter GET (id=?) HEADER (token=1234) dan url:http://send_api.host.com/webservice/mahasiswa


    $curl = curl_init();

    curl_setopt_array($curl, array(
    CURLOPT_URL => "http://send_api.host.com/webservice/mahasiswa?id=1",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
    "cache-control: no-cache",
    "token: 1234"
    ),
    ));
    $response = curl_exec($curl);
    $err = curl_error($curl);

    curl_close($curl);

    if ($err) {
    echo "cURL Error #:" . $err;
    } else {
    echo $response;
    }
  13. Selesai.

    semoga bermanfaat, dan jangan lupa ilmu yang baik adalah sedekahkan pada orang-orang yang membutuhkan.

Komentar

Posting Komentar

Postingan populer dari blog ini

Cara mengaktifkan php pada web server NGINX pada debian 9 dengan PHP-FPM

Assalamu'alaikum WR WB Menyambung tutorial sebelumnya yaitu mengaktifkan domain name pada web server NGINX, karena pada tutorial sebelumnya apabila kita menjalankan file berekstensi php secara default browser akan mendonwload file tersebut, dan ternyata tidak sesuai dengan expetasi. Pada kesempatan kali ini saya akan membagikan bagaimana cara menampilkan halaman berekstensi php pada browser kalian. Baiklah tidak usah panjang lebar kita langsung saja ke TKP. Install modul PHP-FPM, disini saya menggunakan PHP5.6-FPM atau dengan menggunakan PHP versi 5.6 Caranya jalankan script berikut pada console server kalian apt-get update && apt-get install -y apt-transport-https lsb-release ca-certificates wget wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list apt-get update && apt-get install -y php5.6-fpm Tambahkan deklarasi lo...

Cara Membuat Valid SSL (https) di localhost untuk XAMPP

Penggunaan SSL sangatlah bermanfaat baik bagi end user maupun pemilik website. Pengguna sudah mulai peduli soal pentingnya keamanan internet di beberapa tahun terakhir ini. Itu berarti SSL menyediakan kelebihan yang sangat bagus bagi website modern mana pun. Adapun kelebihan dengan menggunakan SSL : Dengan SSL, tampilan website Anda akan lebih profesional Mengenkripsi informasi Google suka dengan situs yang menggunakan SSL Baiklah, tidak perlu panjang lebar kita langsung saja ke TKP . Pada langkah ini kita akan membuat SSL dan mengatur situs web "localhost.com" Buat folder "crt" didalam folder XAMPP "C:\xampp\apache" Buat file "cert.conf" dan isi dengan code dibawah ini : [ req ] default_bits = 2048 default_keyfile = server-key.pem distinguished_name = subject req_extensions = req_ext x509_extensions = x509_ext string_mask = utf8only [ subject ] countryName = Country Name (2 letter c...

Membuat Base Url Codeigniter Project Menjadi Dinamis

Assalamu'aikum WR WB Hello Gays, Pada kesempatan kali ini saya akan membagikan cara bagaimana agar base url pada project codeigniter menjadi dinamis sesuai dengan host name yang kita gunakan pada website kita. oke tak perlu panjang lebar, sekarang kita mulai saja : Pertama download framework Codeigniter pada link berikut :  Codeigniter Download Extract pada folder htdocs jika menggunakan xampp/ pada folder www jika menggunakan wampp Sebelumnya kita tambahkan dulu helper url pada file autoload.php yang ada pada folder application/config. untuk mengaktifkan base url pada codeigniter. Buka file config.php yang ada pada folder application/config Ubah pada bagian $config['base_url'] = ''; Menjadi berikut : $config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http"); $config['base_url'] .= "://".$_SERVER['HTTP_HOST']; $config['bas...