Dynamic Blinkie Text Generator at TextSpace.net

Feedburner

I heart FeedBurner

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.

Kamis, 08 Desember 2016

Cara install php5-curl

Kali ini sayang akan meng instal moodle, Di dunia e-learning Indonesia, Moodle lebih dikenal fungsinya sebagai Course Management System atau "Learning Management System" (LMS). Dengan tampilan seperti halaman web pada umumnya, Moodle memiliki fitur untuk menyajikan kursus (course), dimana pengajar bisa mengunggah materi ajar, soal dan tugas. Murid bisa masuk log ke Moodle kemudian memilih kursus yang disediakan atau di-enroll untuknya. Aktivitas murid di dalam Moodle ini akan terpantau progress dan nilainya. Di Indonesia sendiri, diketahui bahwa Moodle telah dimanfaatkan untuk sekolah menengah, perguruan tinggi dan perusahaan.
Pada saat instalasi moodle kita harus membutuhkan beberapa extensi tambahan yang belum ter instal saat menginstalasi keluar web server di linux. disini saya ngeposting file yang di butuhkan saat instalasi moodle, yaitu :
  1.  Extensi Curl, xmlrpc,  cara instalasi nya buka terminal lalu copas perintah di bawah ini :

    sudo apt-get install php5-curl php5-xmlrpc php5-intl
     
  2.  Kemudian Restart apache nya :

    service apache2 restart
    atau
    /etc/init.d/apache2 restart

  3. Sekian dari saya semoga bermanfaat, terimakasih

Cara import database yang limit

Suatu saat mungkin anda melakukan pekerjaan mengimport database melalui PHPMyadmin dengan server Localhost XAMPP, dimana ukuran file database melebihi limit yang sudah tersetting di PHPMyadmin. Akibatnya akan muncul Error dan Database gagal di import.

Hal ini dikarenakan setting server XAMPP default.  Biasanya masalah ditemukan pada setting php dan mysql server. Anda dapat merubah setting default server XAMPP tersebut.  Untuk mengatasinya anda bisa melakukan langkah-langkah berikut:

1.    Jika XAMPP anda sedang aktif maka sebelumnya matikan dahulu server XAMPP dengan menekan tombol “ Stop” pada server Apache dan MySQL .

 kursus website toko online

2.    Temukan path tempat anda menginstall XAMPP. Misalnya : C:\XAMPP. Artinya XAMPP terinstal pada direktori C pada komputer lokal anda.
 kursus website toko online

3.    Pada folder XAMPP, temukan path file php.ini. Lokasinya adalah: C:\XAMPP\php\php.ini. Selanjutnya Edit "php.ini" menggunakan editor Notepad.

4.    Temukan kode:

upload_max_filesize = 8M
Catatan: Ganti nilai pada tulisan merah.
Selanjutnya  Simpan File
kursus website toko online

5. Masih di XAMPP temukan file my.ini. Pathnya yaitu: C:\ xampp\mysql\bin\my.ini. Selanjutnya Edit php.ini menggunakan editor Notepad.

Temukan kode:  max_allowed_packet = 8M
Catatan: Ganti nilai pada tulisan merah.
Selanjutnya  Simpan File.
 kursus website toko online
6.    Setelah anda mensetting file php.ini dan my.ini maka anda bisa buka  dan aktifkan kembali Server XAMPP anda.  Klik tombol “Start” pada Apache dan MySQL.

7.    Jalankan PHPMyadmin dan cobalah kembali mengimport Database anda. Ketikkan pada tab browser: http://localhost/phpmyadmin . Selanjutnya pada navigasi sebelah kiri pilih nama Database. Pada jendela tengah pilih tab "Import".

8. Pilih file database yang akan anda import dengan menekan tombol "Browse". kemudian lanjutkan dengan klik tombol "Go" untuk memulai proses import database.
9. Selamat mencoba..semoga bermanfaat.

Gagal import database besar di phpmyadmin

kadang kita harus backup suatu website yang sudah lama beroperasi, dah ebrtahun2 tentu banyak sekali databasenya. Bahkan saat dibackup saja gagal. Karena saking besarnya. Kesulitan kita kadang tidak berhenti sampai disitu, saat kita mau upload lagi di localhost (untuk diedit atau diperbaiki) juga tetap tidak bisa karena ternyata backup file .SQL tidak bisa di upload ulang ke phpmyadmin karena ukurannya terlalu besar untuk di load.










 Berikut ini akan saya kasih trik biar tetap bisa import ulang sql yang berukuran besar tersebut.
1. Hentikan dulu server apache dan Mysql di kontrol panel Xampp
2. Masuk ke folder XAMPP/PhpMyadmin dan cari file config.inc.php
   
3. Edit file tersebut dengan notepad++ dan munculah seperti ini

4. Copykan skrip dibawah ini

5. Kemudian buatlah folder dengan nama upload di direktory xampp/PhpMyadmin

6. Buka folder tadi dan paste file sql anda yang besar ukurannya tadi.

7.Kemudian buka kembali PhpMyadmin ada di localhost , pilih database anda dan klik import

8. Kemudian di bawah browse your computer ada pilihan select from the web server upload directory  dan pilih file sql nya
9. Tunggu proses upload, lama tidaknya tergantung file yang anda upload. Jika selesai maka database akan terupload