Bahasa pemrograman PHP dan MySQL merupakan bahasa pemrograman serta basis data yang paling banyak digunakan untuk membuat website. Semakin polulernya PHP dan MySQL banyak hacker yang mencoba untuk membobol website yang menggunakan bahasa pemrograman PHP dan MySQL. Hal ini bukan menjadi pakokan bahwa sistem yang dibangun menggunakan bahasa pemrograman PHP rentang diserang hacker. Bahasa pemrograman PHP memiliki keamanan yang power full jika Anda dapat memaksimalkannya. Beberapa teknik untuk memaksimalkan keamanan PHP:
- Menanggulangi SQL Injection.
- Serangan yang paling sering dilakukan oleh hacker adalah SQL Injection. Target SQL injection ini adalah form login. Langkah yang dilakukan untuk memberi pengamanan terhadap form login dengan menggunakan fungsi mysql_real_escape_string(); Contoh:
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['pass']);
$query = "SELECT * FROM user WHERE username = '$username'";
$hasil = mysql_query($query); - Menggunakan fungsi MD5
- Langkah selanjutnya untuk mengamankan sistem login adalah dengan menggunakan funsi MD5. MD5 digunakan untuk melakukan enkripsi password, untuk lebih mengoptimalkan fungsi ini buat password dengan menggunakan kombinasi angka, huruf dan karakter khusus. Contoh:$password = md5($password);if ($password == $data['password']){echo "sukses";}else{echo "<h1>Login gagal</h1>";}
- Menggunakan .htacsess untuk memanipulasi halaman php
- Sebelum membuat file .htacsees langkah pertama adalah mengaktifkan mod_rewrite. buka folder apache yang terdapat di dalam folder xampp. Kemudian buka folder conf lalu buka file httpd.conf menggunakan notepad atau notepad++
- Cari code #LoadModule rewrite_module modules/mod_rewrite.so hilangkan tanda pagarnya sehingga menjadi LoadModule rewrite_module modules/mod_rewrite.so. Simpan file tersebut.
- Buatlah sebuah folder di dalam direktori C:/xampp/htdocs dengan nama latihan.
- Buka notepad atau notepad ++ kemudian ketik listing program di bawah ini.
RewriteEngine on
RewriteCond $1 !^(index\.php|images)
RewriteRule ^(.*)$ /latihan/index.php?$1 [L]Simpan dengan type: all files, beri nama .htaccsess - Buat file baru menggunakan notepad/notepad ++ kemudian ketik listing program di bawah ini.
<?php
error_reporting("E_ALL ^ E_NOTICE");
include('koneksi.php');
$url = $_SERVER['QUERY_STRING'];
$pecah = explode('-',$url);
$page = $pecah[0];
$id = $pecah[1];
switch($page){
case 'berita':
include 'module/berita.php';
break;
case 'contact':
include 'module/contact.php';
break;
default:
include 'module/notfound.php';
break;
}
?>Simpan dengan type: all files, beri nama index.php - Buat file baru menggunakan notepad/notepad ++ kemudian ketik listing program di bawah ini.
<?php
error_reporting("E_ALL ^ E_NOTICE");
$db_host = 'localhost';
$db_usn = 'root';
$db_pwd = '';
$db_name = 'dbberita';
$conn = mysql_connect($db_host,$db_usn,$db_pwd);
$db = mysql_select_db($db_name,$conn);
?>Simpan dengan type: all files, beri nama koneksi.php - Buatlah sebuah folder baru di dalam folde latihan beri nama module.
- Buat file baru menggunakan notepad/notepad ++ kemudian ketik listing program di bawah ini.
<?php
error_reporting("E_ALL ^ E_NOTICE");
if(is_numeric($id)){
//Baca Posting jika url mengandung variabel ID yang numeric
$query = mysql_query('select * from berita where BID="'.$id.'"');
$data = mysql_fetch_array($query);
echo '<h1>'.$data['Judul'].'</h1>';
echo $data['Isi'];
echo '<p>'.$data['Penulis'].' / '.$data['Tanggal'].' <a href="berita">« Kembali</a></p>';
}
else{
//Menampilkan Semua Posting
$query = mysql_query('select * from berita ');
echo '<ul>';
while($data=mysql_fetch_array($query)){
$slug = str_replace(' ','_',$data['Judul']);
echo '<li><a href="berita-'.$data['BID'].'-'.strtolower($slug).'">'.$data['Judul'].'</a></li>';
}
echo '</ul>';
}
?>Simpan di dalam folder module dengan tipe all files beri nama berita.php - Buat file baru menggunakan notepad/notepad ++ kemudian ketik listing program di bawah ini.
<h1>Hubungi Kami</h1> Simpan di dalam folder module dengan tipe all files beri nama contact.php - Buat file baru menggunakan notepad/notepad ++ kemudian ketik listing program di bawah ini.
<h1>404 - Halaman yang anda cari tidak ditemukan!</h1> Simpan di dalam folder module dengan tipe all files beri nama notfound.php - Buat file baru menggunakan notepad/notepad ++ kemudian ketik listing program di bawah ini.
<?php
error_reporting("E_ALL ^ E_NOTICE");
$query = mysql_query('select * from berita ');
echo '<ul>';
while($data=mysql_fetch_array($query)){
echo '<li><a href="page-'.$data['BID'].'">'.$data['Judul'].'</a></li>';
}
echo '</ul>';
?>Simpan di dalam folder module dengan tipe all files beri nama page.php - Buat database baru dengan nama dbberita menggunakan phpmyadmin.
- Sesuaikan struktur tabelnya sesuai dengan tabel di bawah ini.
Nama Fields Type Data Keterangan BID Int (5) Auto Increment, Primary Key Judul Varchar (255) Isi Text Penulis Varchar (255) Tanggal datetime - Masukan beberapa data di bawah ini ke dalam database melalui menu insert.
Kolom Nilai BID 1 Judul Tentang Kami Isi Kami merupakan perkumpulan beberapa mahasiswa ITN Malang yang memiliki persamaan tujuan untuk dapat saling berbagi ilmu terutama dalam bidang IT. Berangka dari persamaan tujuan tersebut, maka kami dirikan Media Kreatif ini sebagai sarana penujang dan sebagai media penyaluran minat dan bakat.<br>
<strong>Visi dan Misi</strong><br>
Media kreatif didirikan untuk dapat mengahasilkan produk - produk edukasi dengan harapan dapat ikut berpartisipasi dalam rangka mencerdaskan bangsa.<br>
<p><strong>Produk</strong></p>
<p>Produk yang kami rancang kedepannya antara lain :</p>
<ol>
<li>Tutorial dan Buku elektronik ( Ebook ) untuk dapat di baca olhe segenap lapisan Masyarakat</li>
<li>Aplikasi - aplikasi komputer berbasis website dan desktop</li>
<li>Ujian online untuk kalangan SMP , SMU dan Perguruan tinggi</li>
<li>Dan lain - lain</li>
</ol>
<p><strong>Kontak</strong></p>
<p>Edi suprayitno <br />
Jl Bougenville No 1,<br />
Kel. Lowokwaru<br />
Kota Malang<br />
Jawa Timur</p>
<p>Email : <strong>admin@media-kreatif.com</strong><br />
Yahoo messenger : <strong>just_ide@yahoo.com</strong></p>
<p>Silahkan <a href="request-tutorial.prm">kirimkan</a> ide - ide kreatif anda untuk dapat kami tuangkan dalam bentuk tulisan sehingga dapat dinikmati oleh banyak kalangan.</p>
<p> </p>
<p> </p>
<p><strong>Salam kreatif</strong></p>
<p> </p>Penuis 2012-01-20 10:10:00 Tanggal Edi. S Kolom Nilai BID 2 Judul Belajar MySQL dengan menggunakan MySQL command line Isi <p>Melanjutkan tutorial sebelumnya, berikut kita akan mencoba membuat contoh database baru dengan menggunakan mysql command line. Perhatikan langkah - langkah berikut :<br />
<br />
<strong>1. Login ke MySQL Server</strong><br />
Gunakan perintah <strong>mysql -u root -p</strong> , ketika muncul pesan Enter password : , masukkan password MySQL anda. jika Anda pengguna aplikasi XAMP, biasanya password root masih kosong. tekan saja tombol Enter.</p>
<p>
<div style="page-break-after: always;"><span style="display: none;"> </span></div>
<br />
<strong>2. Membuat database baru</strong><br />
Untuk membuat database baru, perintah yang digunakan adalah sebagai berikut :<br />
<strong>CREATE DATABASE nama_database;</strong><br />
Contoh kalau kita akan membuat database dengan nama sekolah, perintah yang digunakan :<br />
<strong>CREATE DATABASE sekolah; </strong><br />
jangan lupa untuk mengakhiri perintah mysql dengan tanda ( ; ) supaya pada waktu kita tekan enter perintah tersebut akan di eksekusi. kalau kita lupa menuliskan tanda ;, maka kursor akan turun kebawah dam artian ganti baris saja, akan tetapi perintah tidak dieksekusi. untuk mengatasi hal tersebut, ketik saja ; kemudian tekan tombol Enter.<br />
<br />
3. Masuk ke database untuk pengelolaan<br />
Untuk masuk ke database tertentu, perintah yang digunakan adalah USE, dengan struktur perintahnya yaitu :<br />
<strong>USE nama_database</strong><br />
Contoh penerapannya adalah:<br />
<strong>USE sekolah;</strong><br />
Jika perintah yang kita ketikkan benar, maka akan dicetak pesan Database Change, kemudian kita bisa mengolah database tersebut.<br />
<br />
4. Membuat tabel<br />
Struktur perintah untuk membuat tabel adalah sebagai berikut :<br />
<em><strong>CREATE TABLE nama_tabel(<br />
kolom1 type_data(ukuran) atribut , <br />
kolom1 type_data(ukuran) atribut, <br />
kolom1 type_data(ukuran) atribut, <br />
kolom1 type_data(ukuran) , <br />
...<br />
kolom_n type_data(ukuran)<br />
);</strong></em><br />
<br />
Pada contoh berikut akan dibuat tabel siswa dengan struktur tabel tersebut terdiri dari beberapa kolom, diantaranya (NIS , Nama, Alamat, TTL, Telp, Angkatan).<br />
Perintah yang harus dibuat adalah sebagai berikut :<br />
<em><strong>CREATE TABLE siswa (<br />
NIS varchar(10) not null primary key,<br />
Nama varchar(30) not null,<br />
Alamat varchar(255) not null,<br />
TTL varchar(50) not null,<br />
Telp varchar(30) not null,<br />
Angkatan varchar(2) not null<br />
);</strong></em><br />
Jika perintah diatas berhasil, maka akan dicetak pesan Query Ok , sedangkan jika ditemukan kesalahan dalam perintah diatas, maka akan dicetak pesan kesalahan berserta dengan petunjuk lokasi kesalahannya.<br />
<br />
<strong>5. Melihat daftar tabel dalam database</strong><br />
Untuk mengetahui ada berapa tabel dalam database sekolah, maka gunakan perintah berikut :<br />
<strong>SHOW TABLES;</strong><br />
setelah perintah tersebut dijalankan, maka akan ditampilkan daftar tabel yang ada pada database sekolah.<br />
<br />
<strong>6. Memasukkan data ke dalam tabel</strong><br />
Untuk memasukkan data / record pada tabel siswa, maka perintah yang kita gunakan adalah perintah insert, struktur perintahnya adalah :<br />
<strong>INSERT INTO siswa (kolom1, kolom2, kolom3, kolom_n) values (' isi 1 ', ' isi 2 ', ' isi 3 ', ' isi n ')</strong><br />
Pada contoh berikut kita akan memasukkan record pada tabel siswa yang telah kita buat sebelumnya.<br />
INSERT INTO siswa (NIS, Nama, Alamat, TTL, Telp, Angkatan ) values (' 0912912 ', ' Edi s ', ' Malang ', ' Malang 29 Februari 1994 ', ' 0341 567890 ', ' 2009 ' )<br />
jika perintah diatas kita jalankan, maka akan dimasukkan data siswa bernama Edi s kedalam tabel siswa. Jika perintah berhasil, akan dicetak pesan Query Ok, 1 row affected<br />
<br />
<strong>7. Menampilkan data atau record tabel</strong><br />
Untuk melihat data dari sebuah tabel, maka kita gunakan perintah select , yang srtuktur perintahnya adalah sebagai berikut :<br />
<strong>SELECT kolom1,kolom2,kolom_n FROM nama_tabel</strong><br />
pada contoh berikut kita akan menampilkan isi dari tabel siswa, maka kita gunakan perintah berikut :<br />
<strong>SELECT * FROM siswa ;</strong><br />
Perintah diatas akan menampilkan isi semua kolom dalam tabel siswa, sedangkan jika perintanya kita ubah menjadi :<br />
<strong>SELECT NIS,Nama,Alamat FROM siswa;</strong><br />
Maka hanya akan ditampilkan isi dari Kolom NIS,Nama dan kolom Alamat<br />
Penjelasan lebih detail dari perintah diatas akan dibahas dalam Mysql query<br />
<br />
<strong>8. Mengubah data tabel</strong><br />
Untuk melakukan perubahan data pada tabel, maka perintah yang digunakan adalah perintah UPDATE, struktur perintahnya adalah sebagai berikut :<br />
<strong>UPDATE nama_tabel SET kolom1='isi baru' , kolom2='isi baru' WHERE kolom_unik='kode_unik' ;</strong><br />
Pada contoh berikut kita akan mengubah Nama siswa yang berada pada tabel siswa. Perlu diketahui bahwa kolom unik atau primary key dari tabel siswa adalah NIS, maka kita akan mengubah data siswa dengan NIS tertentu.<br />
<strong>UPDATE siswa SET Nama=' Arman', Alamat='Jl Bougenville no 1', Angkatan=' 2010 ' WHERE NIS=' 0912913 '</strong><br />
Jika perintah tersebut dijalankan, maka data siswa yang memiliki NIS = 0912913 akan diubah, yaitu Nama = Edi s akan dibah menjadi Arman , Alamat diubah menjadi Jl Bougenville no 1 dan angkatan diubah menjadi 2010.<br />
Untuk melihat hasilnya, silahkan tampilkan dengan menggunakan perintah SELECT<br />
<br />
<strong>9. Menghapus data</strong><br />
Untuk menghapus data pada tabel, perintah yang digunakan adalah perintah DELETE . Struktur perintahnya adalah sebagai berikut :<br />
<strong>DELETE FROM nama_tabel WHERE kolom_unik = 'angka_unik';</strong><br />
Contoh penerapannya pada tabel siswa adalah ketika kita akan menghapus data siswa yang memiliki NIS 0912913, maka perintah yang digunakan adalah sebagai berikut :<br />
<strong>DELETE FROM siswa WHERE NIS=' 0912913 ';</strong></p>Penuis Edy S Tanggal 2011-05-20 10:42:16 Kolom Nilai BID 3 Judul Posting multiple form dengan php Isi <p>Posting data dengan beberapa form ? Kapan kira - kira kita akan mengirim data dengan beberapa form ?<br>
Jawabannya adalah ketika kita akan melakukan entry banyak data dimana data - data tersebut mempunyai atribut - atribut yang sama. sebagai contoh ketika kita akan melakukan entry data siswa, dimana masing - masing siswa mempunyai atribut - atribut yang sama, antara lain :</p>
<ul>
<li>NIM</li>
<li>Nama</li>
<li>Alamat</li>
<li>Tempat dan tanggal lahir</li>
<li>dll</li>
</ul>
<p>
<div style="page-break-after: always;"><span style="display: none;"> </span></div>
</p>
<p>Kalau kita mau melakukan entry data yang jumlahnya cukup banyak, sedangkan kita hanya menggunakan satu form, tentunya akan sangat menyulitkan, karena kita harus menyimpan data satu persatu. Disini kami akan mencoba membuat contoh aplikasi simple untuk dapat mengatasi permasalahan diatas:</p>
<p>1. Membuat form entry data siswa terlebuh dahulu.</p>
<div id="htmltut" style="font:normal 11px Verdana, Arial, Helvetica, sans-serif; color:#333333; border:silver 1px dotted; width:auto;">
<!-- tutorial start here -->
<html xmlns="http://www.w3.org/1999/xhtml"><br />
<head><br />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><br />
<title>Posting Multiple form dengan PHP</title><br />
</head><br />
<body><br />
<form method="get" action=""><br />
Jumlah form : <input type="text" size="5" name="jumlah" /><br />
<input type="submit" name="btnJumlah" value="OK" /><br />
</form><br />
<form method="post" action="proses.php"><br />
<?php<br />
$jumlah=$_GET['jumlah'];<br />
for($i=0; $i<$jumlah; $i++){<br />
$nomor = $i + 1;<br />
echo $nomor .". ";<br />
?><br />
NIM <input type="text" name="nim[]" /> Nama <input type="text" name="nama[]" /><br /><br />
<?php<br />
}<br />
//cetak tombol jika inputan lebih dari 0<br />
if($jumlah >0){<br />
echo "<input type=\"submit\" name=\"btnSiswa\" value=\"Simpan\" />";<br />
}<br />
?><br />
</form><br />
</body><br />
</html><br />
<!-- tutorial ends here -->
</div>
<p>Karena form diatas menggunakan script php, maka harus disimpan dengan ekstensi php, misalnya kita simpan dengan nama <strong>multi.php</strong> </p>
<p>2. Membuat file aksi <strong>proses.php</strong></p>
<p>file aksi yang akan memproses kiriman data dari form diatas seperti tertulis di bawah ini.</p>
<div id="htmltut" style="font:normal 11px Verdana, Arial, Helvetica, sans-serif; color:#333333; border:silver 1px dotted; width:auto;">
<?php<br />
if(isset($_POST['btnSiswa'])){<br />
//hitung jumlah form yang dikirim<br />
$jumlah = count($_POST['nim']);<br />
<br />
echo "<h1>Cetak semua form</h1>";<br />
for($i=0; $i<$jumlah; $i++){<br />
$urut = $i+1;<br />
$nim = $_POST['nim'][$i];<br />
$nama = $_POST['nama'][$i];<br />
//jika mau dimasukkan ke databases, silahkan buat query anda disini<br />
echo $urut." ".$nim ." ".$nama."<br />";<br />
}<br />
<br />
echo "<h1>Khusus NIM dan Nama yang tidak kosong</h1>";<br />
//jika hanya akan memproses data yang nim dan namanya tidak kosong<br />
for($a=0; $a<$jumlah; $a++){<br />
$urut = $a+1;<br />
$nim = $_POST['nim'][$a];<br />
$nama = $_POST['nama'][$a];<br />
if(trim($nim) !="" and trim($nama) !=""){<br />
//jika mau dimasukkan ke databases, silahkan buat query anda disini<br />
echo $urut." ".$nim ." ".$nama."<br />";<br />
} <br />
}<br />
}<br />
?><br />
</div>
<p>Silahkan copy code - code diatas dan coba jalankan pada komputer anda. Untuk mendownload contoh script yang sudah kami buat diatas, silahkan klik <a href="get-multi.zip">Download</a></p>
<p>Sekian dulu tutorial kali ini,Jika ada sesuatu yang kurang jelas / koreksi dari penulisan diatas silahkan posting pada form dibawah. Untuk request tutorial sesuai dengan keinginan anda, silahkan tuliskan request anda pada menu <a href="request-tutorial.prm">Request tutorial</a> </p>
<p><strong>Selamat mencoba dan Salam kreatif </strong></p>Penuis Edy. S Tanggal 2012-02-22 10:10:00 Kolom Nilai BID 4 Judul Berita percobaan saja Isi isi dari berita percobaan Penuis Edy S Tanggal 2011-05-28 21:21:38 Kolom Nilai BID 5 Judul Berita percobaan lanjutan Isi Isi dari berita percobaan lanjutan Penuis Edy S Tanggal 2012-03-22 10:10:00 Kolom Nilai BID 6 Judul Berita percobaan saja Isi Isi dari percobaan berita berikutnya Penuis Edy S Tanggal 2011-05-28 21:21:38 Kolom Nilai BID 7 Judul Berita percobaan lanjutan Isi Isi juga dari berita selanjutnya Penuis Edy S Tanggal 2011-05-28 21:22:02 - Jalankan programnya melalui alamat dibawah ini, dan lihat hasilnya.
- http://localhost/latihan
- http://localhost/latihan/berita
- http://localhost/latihan/contact
- http://localhost/latihan/sembarang_text
TUGAS
Editlah program di atas, tambahkan halaman utama yang dilengkapi dengan menu untuk mengakses berita dan contact person.
Kembali | Lanjut |
ijin nyimak artikel nya gan
BalasHapusterimakasih atas informasinya