Dynamic Blinkie Text Generator at TextSpace.net

Feedburner

I heart FeedBurner

Jumat, 30 Desember 2016

Cara install node js via ppa

Pada tutorial Cara install node.js & npm di Ubuntu Menggunakan PPA ini, untuk nodejs kita akan menginstall menggunakan repositori PPA dari Chris Lea.
Menambahkan PPA
Pertama kita tambahkan terlebih dahulu repositori PPA dan meng-update repositori yang ada di sistem kita:
apt-get install python-software-properties

apt-add-repository ppa:chris-lea/node.js

apt-get update

Menginstal node.js
Kemudian install node.js:
apt-get install nodejs
untuk mengecek versi node.js yang terinstall, bisa mengunakan perintah berikut:
node -v

Dalam hal ini, npm secara otomatis sudah terinstall bersamaan dengan node.js.
versi npm bisa dicek dengan menggunakan perintah:
npm -v

Kamis, 29 Desember 2016

Hiw to instal node js to linux

Arch Linux

Node.js and npm packages are available in the Community Repository.
pacman -S nodejs npm

Debian and Ubuntu based Linux distributions

Also including: Linux Mint, Linux Mint Debian Edition (LMDE), elementaryOS and others.
Node.js is available from the NodeSource Debian and Ubuntu binary distributions repository (formerly Chris Lea's Launchpad PPA). Support for this repository, along with its scripts, can be found on GitHub at nodesource/distributions.
NOTE: If you are using Ubuntu Precise or Debian Wheezy, you might want to read about running Node.js >= 6.x on older distros.
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Alternatively, for Node.js v7:
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
Optional: install build tools
To compile and install native addons from npm you may also need to install build tools:
sudo apt-get install -y build-essential
Available architectures:
  • i386 (32-bit)
  • amd64 (64-bit)
  • armhf (ARM 32-bit hard-float, ARMv7 and up: arm-linux-gnueabihf)
Supported Ubuntu versions:
  • Ubuntu 12.04 LTS (Precise Pangolin)
  • Ubuntu 14.04 LTS (Trusty Tahr)
  • Ubuntu 16.04 LTS (Xenial Xerus)
Supported Debian versions:
  • Debian 7 (wheezy)
  • Debian 8 / stable (jessie)
  • Debian testing (stretch, aliased to jessie)
  • Debian unstable (sid)
A Node.js package is also available in the official repo for Debian Sid (unstable), Jessie (testing) and Wheezy (wheezy-backports) as "nodejs". It only installs a nodejs binary.
The nodejs-legacy package installs a node symlink that is needed by many modules to build and run correctly. The Node.js modules available in the distribution official repositories do not need it.
Supported Linux Mint versions:
  • Linux Mint 13 "Maya" (via Ubuntu 12.04 LTS)
  • Linux Mint 17 "Qiana" (via Ubuntu 14.04 LTS)
  • Linux Mint 17.1 "Rebecca" (via Ubuntu 14.04 LTS)
  • Linux Mint 17.2 "Rafaela" (via Ubuntu 14.04 LTS)
  • Linux Mint Debian Edition (LMDE) 2 "Betsy" (via Debian 8)
Supported elementary OS versions:
  • elementary OS Luna (via Ubuntu 12.04 LTS)
  • elementary OS Freya (via Ubuntu 14.04 LTS)
Supported Trisquel versions:
  • Trisquel 6 "Toutatis" (via Ubuntu 12.04 LTS)
  • Trisquel 7 "Belenos" (via Ubuntu 14.04 LTS)
Supported BOSS versions:
  • BOSS 5.0 "Anokha" (via Debian 7)

Ngrok

ssalamualaikum Wr. Wb.
Saya disini akan sedikit berbagi ilmu tentang Cara Menggunakan Ngrok Sebagai Penghubung di Localhost.

A. Pengertian
Ngrok adalah proy server reverse yang menciptakan terowongan yang aman dari endpoint publik untuk layanan web lokal berjalan. Ngrok menangkap dan menganalisis semua lalu lintas melalui terowongan untuk pemeriksaan kemudian dan replay.
B. Latar Belakang
Penggunaan ngrok digunakan untuk penghubung antara pengakses localhost dengan internet. Menangkap dan menganalisis semua lalu lintas melalui terowongan pemeriksaan kemudian dan reply.
C. Alat dan Bahan
  • Laptop/Pc
  • Cms ngrok
  • Jaringan Internet
  • Server
D. Maksud dan tujuan

Apa kegunaan dari ngrok?
  • Sementara berbagi sebuah website yang hanya berjalan pada mesin pengembangan.
  • Demoing sebuah aplikasi di hackathon tanpa menyebarkan.
  • Mengembangkan setiap layanan yang mengkonsumsi webhooks (callback HTTP) dengan memungkinkan Anda untuk memutar ulang permintaan mereka.
  • Debugging dan memahami layanan web apapun dengan memeriksa lalu lintas HTTP.
  • Menjalankan layanan jaringan pada mesin yang firewall off dari internet
E. Tahapan Pelaksanaan
1. Langkah pertama kita harus mendownload cms ngroknya terlebih dahulu bisa secara GUI atau CLI. Jika secara CLI menggunakan perintah :
wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
 2. Setelah selesai mendownload ngroknya kita unzip dengan menggunakan perintah :
Unzip ngrok-stable-linux-amd64.zip
 3. Setelah itu beri hak akses folder ngrok hasil unzip tadi dengan menggunakan perintah :
chmod +x ngrok
 4. Setelah diberi hak akses langkah selanjutnya adalah pindah folder ngrok ke dalam folder /usr/local/bin/ dengan menggunakan perintah :
cp ngrok /usr/local/bin/
 5. Kemudian kita sambungkan ngrok dengan menggunakan port 80 sebagai penghubung localhost dengan internet dengan menggunakan perintah :
ngrok http 80
 Dari perintah diatas jika di enter maka akan keluar seperti ini :
 Kemudian kita cek di web browser komputer lain dengan memasukkan alamat pada forwarding. Jika berhasil maka akan keluar seperti ini :
 Setelah itu kita cek phpmyadmin dengan menggunakan alamat pada ngrok ditambahkan /phpmyadmin. Jika berhasil maka akan keluar seperti ini :

F. Referensi
https://github.com/inconshreveable/ngrok

G. Hasil dan Kesimpulan
Dengan ngrok kita dapat mengakses hasil pekerjaan yang dilakukan pada Server dimanapun kita berada yang penting terhubung ke internet.

Sekian dulu dari saya bila ada salahnya mohon maaf, terimakasih telah berkunjung di blog saya. :)
 Wassalamualaikum Wr. Wb.

Rabu, 28 Desember 2016

Mycript extension is missing

Step :
1). sudo php5enmod mcrypt
2).sudo service apache2 restart

Reset Waktu Trial Software

rial adalah masa percobaan sebuah sofware yang bukan software gratis. Trial juga sering disebut sebagai demoware atau demo version yaitu aplikasi komersial yang dapat digunakan secara gratis namun penggunaannya dibatasi melalu cara tertentu. Pembatasan tersebut dapat berupa pengurangan fitur, pembatasan jumlah pengoperasian (misalnya aplikasi CD burning), pembatasan tenggat waktu penggunaan, penambahan tanda (biasa dilkukan pada applikasi image atu video editing), pencegahan penyimpanan file (pada aplikasi editing audio dan 3D modeler), atau penonaktifan trialware setelah waktu pemakaian tertentu (misalnya 5 s.d 60 hari).

Nah, yang akan dibahas kali adalah cara mereset software trial yang berdasarkan waktu pemakaian tertentu.
Saya ambil contoh saya akan mereset waktu trial untuk software Corel Draw, caranya:
  1. Buka run (klik Start Menu ==> Run atau tekan win+r)
  2. Ketik "regedit" (tanpa tanda petik), lalu tekan ENTER
  3. Ada beberapa folder di bagian kiri
  4. Buka yang "HKEY_LOCAL_MACHINE"
  5. Pilih "Software"
  6. Cari nama software yang mau anda reset waktu trial-nya. Kadang ada di suatu folder dulu yg nama foldernya adalah nama produknya.
  7. Kalau sudah ketemu hapus folder yang namanya adalah software yg mau anda reset. Contoh: Corel Draw X3, jadi hapus folder corel. Setelah dihapus, buka kembali software tersebut, maka akan sama persis seperti waktu baru diinstall.
  8. Tapi, jika tidak ketemu di situ, coba cari lagi di "HKEY_CURRENT_USER", lalu pilih "Software", carilah nama softwarenya di sana.

Senin, 19 Desember 2016

Charset 8

Instruksi charset digunakan untuk menerjemahkan bit-bit di dalam halaman HTML menjadi karakter.
Karakter set paling sederhana dan juga paling awal digunakan adalah karakter set ASCII, (dalam HTML ditulis sebagai charset=”us-ascii”). Karakter set ini terbatas pada huruf latin (a-z, A-Z) dan beberapa karakter lain seperti angka, spasi, tab, dll dengan total hanya 128 karakter.
Karakter set “us-ascii” kemudian dikembangkan menjadi karakter ANSI, atau dikenal juga sebagai ISO-8859-1 (dalam HTML ditulis sebagai charset=”ISO-8859-1”). Karakter ANSI mendukung 256 karakter, dan umumnya digunakan pada HTML versi 2.0 sampai dengan HTML 4.01.
Pemasalahan pada karakter set ASCII maupun ANSI adalah tidak menyertakan karakter non-latin seperti huruf arab, cina, jepang, dll. Untuk keperluan ini dikembangkan berbagai karakter set untuk masing-masing bahasa, seperti big5 untuk karakter cina, x-euc-jp untuk karakter jepang, iso-8859-7 untuk karakter yunani dll. Sehingga untuk setiap web, penulisan karakter set akan berbeda-beda tergantung bahasa apa yang digunakan untuk menulis halaman HTML. Tentunya akan lebih praktis jika seluruh karakter ini disatukan kedalam sebuah karakter set.
Pada awal perkembangan XHTML, diperkenalkan karakter set UTF-8 (Unicode Transformation Format-8) yang mendukung hampir seluruh karakter yang ada di dunia. Dalam perkembangan selanjutnya, HTML5 juga menggunakan UTF-8 sebagai charset standar. Dengan menggunakan UTF-8, kita tidak perlu khawatir mengenai karakter atau bahasa apa yang akan digunakan. UTF-8 mendukung hingga lebih dari 10.000 karakter.

Cara Penulisan meta tag Charset UTF-8

Dalam HTML 4.01 maupun XHTML, penulisan karakter set lebih panjang, seperti contoh berikut:
1
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
Dalam HTML5, penulisannya disederhanakan menjadi:
1
<meta charset="UTF-8">
Meta tag charset ini ditempatkan pada bagian <head> sebelum tag <title>, seperti contoh berikut:
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Belajar HTML5</title>
</head>
<body>
  <h1>HTML5</h1>
  <p>Belajar HTML5 di duniailkom</p>
</body>

Pentingnya Menggunakan Charset

Walaupun sepenuhnya opsional, penulisan meta tag charset sangat dianjurkan. Jika kita tidak menuliskan charset, web browser akan mencoba ‘menebak‘ karakter yang digunakan (biasanya web browser modern akan menggunakan utf-8 sebagai karakter default). Jika halaman web dijalankan dari web server seperti Apache, web server juga akan menambahkan http-header yang berisi karakter set.
Namun perlu menjadi catatan bahwa jika kita tidak menulis meta tag charset, proses web browser ‘menebak‘ karakter set ini bisa menjadi masalah. Pada tahun 2005 terdapat sebuah bug pada Internet Explorer yang dinamakan Google XSS. Hal ini terjadi karena situs google tidak menuliskan karakter set sehingga bisa digunakan untuk menyisipkan kode javascript. Oleh karena itu, sebaiknya kita selalu menambahkan meta tag charset pada setiap halaman HTML.
Dalam tutorial belajar HTML5 berikutnya, kita akan mempelajari tentang pengertian semantic tag HTML5.

setting multi port to multi directory

Step by step :
1). Ketik : nano /etc/apache2/sites-available/000-default.conf
2). # Ensure that Apache listens on port 80
Listen 80
<VirtualHost *:80>
    DocumentRoot "/www/example1"
    ServerName www.example.com

    # Other directives here
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/www/example2"
    ServerName www.example.org

    # Other directives here
</VirtualHost>

Software heidi Sql

Sudah sekian lama saya tidak menulis tentang Programming. Kali ini saya akan mengulas salah satu software gratis + open source untuk mengelola database MySQL (termasuk Microsoft SQL). Bagi pengembang aplikasi baik web, desktop atau mobile, mungkin tidak asing dengan PHPMyAdmin.

Ketika kita membuat program/aplikasi atau website den menyimpan data ke dalam database seperti MySQL, biasanya untuk mengelola database tersebut biasanya kita menggunakan aplikasi web based PHPMyAdmin yang mungkin merupakan mysql administrator yang paling banyak digunakan.
Bagi pengguna windows ada alternatif yang mungkin lebih mudah dan cepat ketika mengakses dan bekerja dengan database MySQL. Apalagi jika kita bekerja dengan komputer lokal (baik localhost ataupun LAN). Program gratis dan Opensource ini adalah HeidiSQL. Dengan aplikasi berbasis desktop ini, maka mengelola database MySQL akan lebih cepat dan mudah dibanding ketika menggunakan web based.
heidi-sql
Beberapa fitur HeidiSQL antara lain:
  • Free siapa saja plus Open Source
  • KOneksi ke banyak server sekaligus hanya dalam satu aplikasi(window)
  • Konek ke server melalui commandline
  • Konek melalui SSH tunner, atau pass SSL setting
  • Membuat dan mengedit tabel, view, stored routines, trigger dan scheduled events
  • Export database atau table dalam bentuk SQL
  • Mengelola pengguna (user) termasuk ha aksesnya dengan mudah
  • Export dari satu server/database langsung ke server/database lainnya
  • Impor text file
  • Export tabel dalam bentuk CSV,HTML, XML, SQL, LaTeX, Wiki Markup dan PHP Array
  • Browse dan edit tabel dengan grid yang user friendly
  • Batch insert ACSII atau file binary kedalam tabel
  • Menulis query dengan syntax-highlighting dan code completion
  • Mem-format kode SQL akan lebih rapi dan mudah dibaca
  • Memonitor dan mematikan proses klient
  • Mencari text tertentu di server
  • Optimasi dan repair tabel dari banyak database sekaligus
  • dan masih banyak lainnya
Pada awal-awal mengelola database MySQL saya biasanya menggunakan PHPMyAdmin, tetapi saat ini sudah terbiasa menggunakan HeidiSQL karena kecepatan dan kemudahannya. Kita hampir tidak perlu menunggu fitur yang dibuka seperti ketika menggunakan PHPMyAdmin. Kecuali ketika server tidak diijinkan diakses kecuali hanya melalui web, maka PHPMyAdmin mungkin yang digunakan.
heidi-sql-table
Bagi yang sudah cukup lama berkecimpung dengan database MySQL di Windows, mungkin pernah menggunakan software database administrator MySQLFront. Dan HeidiSQL ini merupakan pengembangan dari aplikasi tersebut yang sudah lama tidak dilanjutkan lagi. Plus, bagi programmer Delphi, jika ingin mengutak-atik atau mengembangkan sendiri bisa, karena program ini dikembangkan menggunakan Delphi.
HeidiSQL dapat berjalan di Windows XP, Vista dan juga 7, termasuk juga di Linux dengan bantuan Wine. Untuk Windows 2000 bisa berjalan dengan menggunakan library mysql yang lama. Selain tersedia versi installer, tersedia juga versi portable yang berukuran sekitar 3 MB saja, Download HeidiSQL ( Installer 3.3MB, Portable 3.1 MB).

Sabtu, 17 Desember 2016

comen linux

Comment linux:
sudo apt-get install mysql-server
sudo mysql_install_db 
apt-get install yum
yum remove mysql mysql-server 
--cek paket yang sudah terinstall :
dpkg --get-selections 

Selasa, 13 Desember 2016

Dasar-Dasar Framework Laravel

Bagi para developer web mungkin sudah mengetahui cukup banyak framework PHP yang ada saat ini seperti CodeIgniter yang ringan dan mudah dipelajari hingga Zend Framework yang lebih kompleks dan enterprise. Nah, selain framework PHP tersebut, ada satu framework lain yang menarik untuk disimak yaitu Laravel.
Laravel dibangun oleh Taylor Otwell pada tanggal 22 Pebruari 2012 lalu. Framework ini merupakan framework PHP open source dengan desain MVC (Model-View-Controller) yang digunakan untuk membangun sebuah aplikasi situs web.
Di artikel ini saya akan menjelaskan sedikit tentang Laravel, dari mulai cara menginstal Laravel sampai membuat halaman pertama menggunakan framework ini. Alasan mengapa saya menulis artikel tentang Laravel, selain lagi ramai dikalangan developer web, Laravel juga merupakan framework PHP yang membuat kodingan menjadi lebih singkat, mudah dimengerti, dan ekspressif sehingga hanya dengan membaca sekilas dari kode yang ditulis kita sudah bisa menduga apa maksudnya tanpa perlu melihat dokumentasi.
Sebelum mulai menginstal framework Laravel, pastikan di komputer anda sudah terinstal aplikasi semacam WampServer atau SecureWamp. Pada komputer saya untuk artikel ini menggunakan sistem operasi Windows 10 dan aplikasi XAMPP.
Ada beberapa cara sebetulnya untuk menginstal Laravel, namun pada tulisan ini kita akan menginstal Laravel menggunakan metode Composer yaitu dengan menggunakan perintah composer create-project. Metode ini sangat direkomendasikan karena Composer akan mengurus segala ketergantungan Laravel dengan library lainnya. Dengan kata lain, kita tidak perlu mengunduh satu persatu library yang dibutuhkan.

Instal Composer

Bagi pengguna Windows bisa langsung mengunduh Composer Installer. Buka aplikasi yang sudah diunduh kemudian lakukan proses instalasi sampai selesai. Pada proses instalasi Composer akan muncul tampilan yang meminta letak dimana lokasi PHP diinstal, karena pada tulisan ini menggunakan aplikasi XAMPP maka lokasi PHP ada pada C:/xampp/php/php.exe. Jika anda tidak menggunakan XAMPP, silahkan cari lokasi PHP yang ada pada komputer anda.

Instal Laravel

Setelah selesai menginstal Composer, selanjutnya kita akan menginstal Laravel dengan menggunakan perintah composer create-project pada Command Prompt (CMD) yang terdapat pada sistem operasi Windows. Karena pada tulisan ini menggunakan XAMPP, maka kita akan menginstal Laravel pada folder C:/xampp/htdocs/ .
Silahkan buka CMD dan arahkan lokasi instalasi pada folder htdocs. Ikuti perintah seperti di bawah ini untuk menginstal Laravel dan membuat proyek baru.
composer create-project laravel/laravel project-name –prefer-dist
project-name merupakan nama dari sebuah proyek yang kita buat, silahkan isi nama sesuai dengan keinginan. Pada kasus ini saya beri nama proyek belajarlaravel. Setelah itu kita hanya perlu menunggu Laravel terpasang pada komputer kita dengan nama proyek yang sudah dibuat. Harus diingat, proses ini membutuhkan koneksi internet.
tutorial-laravel1
Setelah proses pemasangan Laravel selesai, silahkan ketik URL localhost/belajarlaravel/public untuk melihat hasilnya. Sebelumnya, terlebih dahulu anda harus membuka aplikasi XAMPP dan mengaktifkan web server Apache. Di bawah ini tampilan pertama ketika kita berhasil menginstal Laravel.
tampilan-laravel-1

Menampilkan Halaman “Hello, Agan!”

Setelah berhasil menginstal atau membuat proyek Laravel, sekarang kita akan mencoba membuat halaman web menggunakan Laravel. Pada bahasa pemrograman apapun ketika belajar pertama kali kita akan belajar menampilkan kalimat “Hello, World”.
Pada tulisan ini, agar sedikit berbeda dan agar tidak mainstream maka kita akan menggunakan kalimat “Hello, Agan!”. Halaman yang akan dibuat akan tampak seperti gambar dibawah ini.
tutorial-laravel-2

Untuk membuat halaman seperti diatas, silahkan buka proyek belajrlaravel menggunakan editor teks seperti Sublime, Notepad++, dan lain-lain. Laravel mempunyai konsep MVC (Model-View-Controller). Untuk membuat tampilan kita akan buat pada view, untuk mengenai data kita akan simpan pada model, dan untuk logika nya kita akan simpan pada controller.
Pertama kita akan membuat tampilan, silahkan buat file dengan nama hello.blade.php dan ketik koding seperti dibawah ini.
Kemudian simpan pada belajarlaravel/resources/views/hello.blade.php. Jika anda belum mengetahui, blade merupakan template engine bawaan Laravel. Blade menawarkan sintaks yang lebih mudah dan singkat untuk dipakai dalam menghasilkan dokumen HTML.
Setelah itu, buatlah controller baru dengan nama Hello. Ketik kodingan di bawah ini untuk membuat fungsi baru dengan nama show pada controller Hello.
Setelah selesai tahap diatas, silahkan buka file routes.php yang terdapat pada proyek belajarlaravel/app/Http/routes.php kemudian tambahkan koding di bawah ini.
Untuk melihat hasilnya silahkan ketik URL localhost/belajarlaravel/public/hello/{name} pada peramban web. Jika anda ingin menampilkan nama anda, silahkan isi variabel {name} dengan nama anda.
Nah, cukup mudah kan membuat proyek web menggunakan Laravel. Silahkan bagi para developer yang tertarik dan ingin belajar mengenai Laravel bisa lebih mengekplor mengenai framework yang satu ini.

Senin, 12 Desember 2016

Materi Dasar PHP Curl

cURL dan Web Services (Studi Kasus: Login)
Ter-inspirasi dari pertanyaan salah satu anggota di group FB PHP Indonesia, saya jadi kepikiran pengen Nulis tutorial ini. Walaupun sebener nya sudah banyak blog yang ngebahas tentang ini, disini saya cuman pengen menjelas kan dengan cara saya sendiri sekalian belajar menulis hehe.. Pertanyaan nya kira-kira begini:
bisa gak sih login ke website kita menggunakan akun website lain.
Saya tertarik dengan jawaban OM cahya nsn, maaf om saya sebut2 nama nya, soal nya saya nge-fan haha…, klo gak salah begini jawaban beliau :
  1. jika sistem yang satu bisa ngakses database sistem yang satunya lagi.. tinggal di konekin ke database tersebut untuk validasi loginnya
  2. Jika ingin menggunakan webservice, pastikan di sistem yang buat ngecek login-nya itu nyediain API-nya, kalo nggak ada ya.. gak bisa tho?
pada tutorial kali ini saya akan membahas poin ke dua dari jawaban om cahya dsn. sedikit gambaran : disini ada dua system, system A dan system B, untuk login ke system A menggunakan Akun system B, pastinya system B harus menyediakan webservice(API). Yang nanti nya API tersebut akan di gunakan untuk mengecek validitas username dan password yang dikirim oleh system B melalui GET/POST request dengan parameter username dan password. Kemudian respon yang akan di kasih oleh API tersebut bisa berbentuk XML atau jSON, dalam hal ini saya kan menggunakan jSON.
ok biar gak terkesan banyak basa basi mari kita langsung implementasi saja. buat table "user" , sebagai contoh:
  1. CREATE TABLE user (      email varchar(100) NOT NULL,      username varchar(100),      password varchar(200), PRIMARY KEY (email) )
Contoh Data :
  1. 1.  INSERT INTO user (email,username,password) VALUES ('faiz.fadly@gmail.com','faiz fadly', '21232f297a57a5a743894a0e4a801fc3'); 2.   INSERT INTO user (email,username,password) VALUES ('faiz_fadli@yahoo.com','Adly', ' fe01ce2a7fbac8fafaed7c982a04e229');
Ket password :
  • 21232f297a57a5a743894a0e4a801fc3 = admin
  • fe01ce2a7fbac8fafaed7c982a04e229 = demo
Selanjut buat Folder baru di htdoc anda dengan nama "system_B" kita asusmsi kan sebagai Sistem B kemudian buat file baru dengan nama "api.php" di dalam folder "system_B". berikut script nya :
  1. 1.   <?php 2. //Koneksi 3.    mysql_connect("localhost", "root", "") or die(mysql_error()); 4.  mysql_select_db("test") or die(mysql_error()); 5.  6.    //cek username. 7.  $email    = $_POST['email']; 8.   $password = $_POST['password']; 9.     10.   $Q = mysql_query("SELECT * FROM user WHERE email='$email' 11.                      AND PASSWORD='$password'")or die(mysql_error()); 12.          if($Q){ 13.                  $posts = array(); 14.                   if(mysql_num_rows($Q)) 15.                  { 16.                          while($post = mysql_fetch_assoc($Q)){ 17.                           $posts[] = $post; 18.                           } 19.                    }  20.                     echo json_encode(array('user'=>$posts));                    21.      } 22.   ?>
Respon yang akan di kemnalikan oleh skrip di atas berupa data jSON.
selanjut nya kita bikin satu folder lagi dengan nama “System_A” kita asusmsikan ini sebagai Sistem A. buat file dengan nama "formlogin.php" :
  1. 1.   <form class="form-signin" action="" method="post"> 2.   <h2 class="form-signin-heading">Please sign in</h2> 3.    <input type="text" class="input-block-level" name="email" placeholder="Email address"> 4. <input type="password" class="input-block-level" name="password" placeholder="Password"> 5.   <button class="btn btn-large btn-primary" type="submit">Sign in</button> 6. </form>
Skrip di bawah ini adalah fungsi Login Untuk Action Form di atas :
  1. 1.   <?php 2. function doLogin($url,$email,$password){ 3.      4.            $datauser = array( 5.                            //'API_key' => $key, 6.                            'email' => $email, 7.                          'password' => $password, 8.           ); 9.          10.         $postdatauser = ""; 11.           foreach($datauser as $k => $v){ 12.                   $postdatauser .=  $k . "=" . $v."&"; 13.           } 14.    15.           //$postData = http_build_query($user_data); 16.         $curlHandle = curl_init(); 17.          curl_setopt($curlHandle, CURLOPT_URL, $url); 18.            curl_setopt($curlHandle, CURLOPT_POSTFIELDS, $postdatauser); // 19.         curl_setopt($curlHandle, CURLOPT_HEADER, 0); 20.            curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1); 21.            curl_setopt($curlHandle, CURLOPT_TIMEOUT,30); 22.           curl_setopt($curlHandle, CURLOPT_POST, 1); 23.          $string         = curl_exec($curlHandle); 24.           curl_close($curlHandle); 25.           26.         return $string; 27. }
Usesage dari fungsi di atas sebagai berikut :
  1. echo doLogin("http://localhost/sistem_A/api.php",$_POST[“email”], $_POST[“password”]);
skrip di atas akan menghasilkan output berupa jSON:
  1. 1.   {"user":[ 2.           { 3.             "email":"faiz.fadly@gmail.com", 4.              "username":"faiz fadly", 5.             "password":"21232f297a57a5a743894a0e4a801fc3" 6.           } 7.          ] 8. }
Selanjut nya kita akan meng-convert String jSON di atas menjadi Array dengan fungsi json_decode()
  1. 1.   $string   = doLogin("http://localhost/sistem_A/api.php",$username,$password); 2.  $arr      = json_decode($string,true); 3.   $email    = $arr['user'][0]['email']; 4.    $password = $arr['user'][0]['password'];
Setelah itu kita akan melakukan pengecekan apakah user ada atau gak :
  1. 1.   if($email !=''){ 2.           session_start(); 3.         $_SESSION['email']   = $email; 4.         $_SESSION['password']  = $password; 5.            header("Location:targethalamansuksess.php");//arahkan ke target halaman suksess 6.     }else{ 7.          echo "Authentication Failed!";         8.    }


NOTE
Contoh di atas blom bisa di sebut API sesui dengan standar. terutama bagian login, pada umumnya login bisa menggunakan Basic Authentication atau OAuth(Oauth 1 dan 2). dan untuk koneksi API pun ada 2 legged dan 3 legged.
temen2 bisa mempelajari REST dll
Selesain. Semoga Bermanfaat :) , tetap sehat tetap semangat biar bisa nulis trus :).
klo tulisan di atas agak susah di baca teman-teman bisa membaca disini

PHP_SELF

Menggunakan PHP_SELF di bidang aksi formulir

Dalam artikel ini menunjukkan penggunaan variabel PHP_SELF dan bagaimana untuk menghindari eksploitasi PHP_SELF.

Apa variabel PHP_SELF?

PHP_SELF adalah variabel yang mengembalikan naskah saat dieksekusi. Variabel ini mengembalikan nama dan path dari file saat ini (dari folder root). Anda dapat menggunakan variabel ini di bidang aksi FORM. Ada juga eksploitasi tertentu yang Anda butuhkan untuk menjadi sadar. Kami akan membahas semua hal ini dalam artikel ini.

Kita sekarang akan melihat beberapa contoh.
echo $_SERVER['PHP_SELF'];
a) Misalkan file php Anda berada di alamat:
http://www.yourserver.com/form-action.php
Dalam hal ini, PHP_SELF akan berisi:
"/form-action.php"
b) Misalkan file php Anda berada di alamat:
http://www.yourserver.com/dir1/form-action.php
Untuk URL ini, PHP_SELF akan:
"/dir1/form-action.php"

Menggunakan variabel PHP_SELF di bidang tindakan dalam bentuk

Penggunaan umum dari variabel PHP_SELF adalah di bidang tindakan dari <form> tag. Bidang aksi FORM menginstruksikan mana untuk mengirimkan formulir data saat pengguna menekan "submit" tombol. Adalah umum untuk memiliki halaman PHP sama dengan handler untuk formulir juga.
Namun, jika Anda memberikan nama file di bidang tindakan, dalam kasus Anda kebetulan untuk mengubah nama file, Anda perlu memperbarui bidang tindakan juga; atau bentuk Anda akan berhenti bekerja.
Menggunakan variabel PHP_SELF Anda dapat menulis kode yang lebih umum yang dapat digunakan pada setiap halaman dan Anda tidak perlu mengedit bidang tindakan.
Pertimbangkan, Anda memiliki sebuah file yang bernama bentuk-action.php dan ingin memuat halaman yang sama setelah formulir dikirimkan. Biasa bentuk kode akan:
<form  method="post" action="form-action.php" >
Kita dapat menggunakan variabel PHP_SELF bukan "bentuk-action.php". kode menjadi:
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >

Kode lengkap "bentuk-action.php"

Berikut adalah kode gabungan, yang berisi bentuk dan script PHP.
<?php
if(isset($_POST['submit']))
{
    $name = $_POST['name'];
    echo "User Has submitted the form and entered this name : <b> $name </b>";
    echo "<br>You can use the following form again to enter a new name.";
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
   <input type="text" name="name"><br>
   <input type="submit" name="submit" value="Submit Form"><br>
</form>
Kode PHP ini berada di atas bagian HTML dan akan dieksekusi pertama. Baris pertama dari kode memeriksa apakah formulir tersebut diajukan atau tidak. Nama tombol submit adalah "submit". Ketika tombol submit ditekan $_POST['submit'] akan ditetapkan dan kondisi IF akan menjadi kenyataan. Dalam hal ini, kita menunjukkan nama yang dimasukkan oleh pengguna.
Jika formulir tidak disampaikan kondisi IF akan SALAH karena tidak akan ada nilai dalam $_POST['submit'] dan kode PHP tidak akan dieksekusi. Dalam hal ini, hanya form akan ditampilkan.

Apa eksploitasi PHP_SELF dan bagaimana untuk menghindari mereka

Variabel PHP_SELF digunakan untuk mendapatkan nama dan path dari file saat ini tetapi dapat digunakan oleh hacker juga. Jika PHP_SELF digunakan dalam halaman Anda maka pengguna dapat memasukkan garis miring (/) dan kemudian beberapa Cross Site Scripting (XSS) perintah untuk mengeksekusi.
Lihat di bawah untuk contoh:
<form name="test" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Sekarang, jika pengguna telah memasuki URL normal pada address bar seperti
http://www.yourdomain.com/form-action.php
kode di atas akan diterjemahkan sebagai:
<form name="test" action="form-action.php" method="post">
Ini adalah kasus normal.
Sekarang mempertimbangkan bahwa pengguna telah disebut script ini dengan memasukkan URL berikut di address bar browser:
http://www.yourdomain.com/form-action.php/%22%3E%3Cscript%3Ealert('xss')%3C
/script%3E%3Cfoo%22

Dalam hal ini, setelah PHP pengolahan kode menjadi:
<form name="test" method="post" action="form-action.php"/>
<script>alert('xss')</script><foo"">
Anda dapat melihat bahwa kode ini telah menambahkan tag script dan perintah peringatan. Ketika halaman ini dimuat, pengguna akan melihat kotak peringatan. Ini hanya contoh sederhana bagaimana variabel PHP_SELF dapat dimanfaatkan.
Setiap kode JavaScript dapat ditambahkan antara tag "script". <script>....HERE....</script> . Seorang hacker dapat link ke file JavaScript yang mungkin terletak pada server lain. Bahwa file JavaScript dapat memegang kode berbahaya yang dapat mengubah variabel global dan juga dapat mengirimkan formulir ke alamat lain untuk menangkap data pengguna, misalnya.

Cara Hindari eksploitasi PHP_SELF

Eksploitasi PHP_SELF dapat dihindari dengan menggunakan () htmlentities fungsi. Misalnya, kode bentuk harus seperti ini untuk menghindari eksploitasi PHP_SELF:
<form name="test" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
The htmlentities () fungsi mengkodekan entitas HTML. Sekarang jika pengguna mencoba untuk mengeksploitasi variabel PHP_SELF, upaya tersebut akan gagal dan hasil memasukkan kode berbahaya di URL akan menghasilkan output sebagai berikut:
<form name="test" method="post"
action="form-action.php/&quot;&gt;&lt;script&gt;alert('xss')&
lt;/script&gt;&lt;foo">
Seperti yang Anda lihat, script bagian sekarang 'dibersihkan'.
Jadi jangan lupa untuk mengkonversi setiap terjadinya "$_SERVER['PHP_SELF']" menjadi "htmlentities($_SERVER['PHP_SELF'])" di seluruh naskah Anda.
CATATAN:
Beberapa server PHP dikonfigurasi untuk memecahkan masalah ini dan mereka secara otomatis melakukan conversion.But ini, mengapa mengambil risiko? biasakan untuk menggunakan htmlentities () dengan PHP_SELF.