skip to main | skip to sidebar

HengkyZuckerberg SiPecanduKeyboard

Mengenai Saya

HengkyZuckerbergSiPecanduKeyboard
Lihat profil lengkapku
  • Entries (RSS)
  • Comments (RSS)
  • Home
  • About Us
  • Archives
  • Contact Us

Kamis, 31 Mei 2012

Mengatasi/Mencegah SQL Injection pada PHP

Diposting oleh HengkyZuckerbergSiPecanduKeyboard di 09.20

Sumber:  http://10511902.blog.unikom.ac.id/mengatasi-mencegah.33w
Hei hei hei.. udah pada tau tentang salah satu teknik hacking yang sangat dahsyat..???
 
"SQL Injection" yaitu trik hacking dengan cara mengedit isi dari variabel get yang ada di url untuk melakukan penetrasi kedalam database.. teknik SQL Injection juga bsa di lakukan pada form login dengan membaypass atau melewati autentikasi login dengan syntak SQL..

Eitss tpi dsni ane ga ngajarin cara hacking nya tpi cara bagaimana cara mengantisipasinya :)
[ga bole sma admin kampus] hohoho pissss..

okeh ini dia trik nya..
 
1. Dengan cara menjadikan variabel get menjadi absolute integer
    Penjelasan:
    Biasanya para hacker melakukan penetrasi terhadap variabel id yang kita letakkan pada url..
  
    Contoh:
    pada url http://webkamu/berita.php?id=1
    ketika akan membaca isi dari variabel id biasanya kita menggunakan syntak
   
    $id = $_GET['id'];
    jadi setiap isi dari id pada url akan disimpan pada variable $id..
   
    dan untuk query ke database :
    "SELECT * FROM tbl_berita WHERE id='$id'"
 
     nah melalui variabel $id ini lah para hacker menggunakan teknik SQL Injection, dengan   memasukkan perintah2 SQL yang dapat mengeksploitasi database..
 
    Solusinya:
    kita buat id menjadi absolute integer dengan mengubah sintaks pembacaan variabel get id menjadi:
    $id = abs((int)$_GET['id']);
 
    fungsi abs() digunakan untuk menghilangkan tipe data minus dan int digunakan untuk mengubah tipe data menjadi integer (hanya mengijinkan tipe data integer). jadi ketika variabel id pada url di rubah secara manual dan diisi dengan sintak SQL yang berupa string maka tetap dibaca 0.  
 
 
2. Dengan menambahkan variabel get berisi enkripsi md5 yg divariasi pada url
     jika awal url adalah
     http://webkamu/berita.php?id=1
 
   maka kita akan menambahkan variabel yg berisi enkripsi dari id yg kita modifikasi dengan string acak menjadi
     http://webkamu/berita.php?id=1&token=9b0443e36affedbafe882a4bbb90eaec
 
nah sekilas terlihat mirip sma url2 facebook.. wahh kereeen :)

ok, saya jelaskan maksud dari variabel token diatas, jadi ketika awal kita memberikan link untuk next berita or previous berita atau berita lainnya.. pokok nya yang menampilkan berita lain dah.. kita isi
$token = md5(md5($id_berita).md5('kata acak'));
jadi href nya menjadi : berita.php?id=$id_berita&token=$token
 
sekarang pada halaman tampil berita kita tambahkan pengecekan apakah id berita diganti/diinject manual oleh user dengan cara :
 
$id_berita=$_GET['id_berita'];
$token=$_GET['token'];
$cek=md5(md5($id_berita).md5('kata acak'));
if($token==$cek){
   //syntak menampilkan berita disini
}
else{
   echo "SQL Injection detected..!!!!";
}
 
nah slsai deh,, hehehe
bingung..??? semoga ngga deh yha.. klo bingung boleh dah rokoknya di isep dlu.. hehe (tpi jangan deket2 ma ane yha gan, ane ga ngerokok) pisssss..!!!
 
 
3. Khusus untuk form login, dengan melakukan enkripsi password atau merubah algoritma autentikasi login.
    biasanya kita melakukan pengecekan ketika user login yaitu dengan melakukan query kedatabase:
 
$input_username=$_POST[username];
$input_password=$_POST[password];
 
$q="SELECT * FROM tbl_user where username='$input_username' and password='$input_passsword'";
$r=mysql_query($q);
$jml_row=mysql_num_rows($r);
if($jml_row > 0){
     echo "login sukses";
}
else{
     echo "login gagal";
}
 
nah algoritma autentikasi login seperti diatas sangat rentan terhadap penetrasi SQL Injection..
solusi pertama dengan melakukan enkripsi pada password yaitu dengan mengganti
skrip berikut :
 
$input_password=$_POST[password]; menjadi:
$input_password=md5(md5($_POST[password]).md5('karakter acak'));
 
tentunya yang berakibat dengn mengenkripsi semua password di database sesuai enkripsi diatas.. :)
 
(semoga ga pada pusing yah :D)
 
solusi kedua yaitu dengan merubah algoritma menjadi
 
$d=mysql_fetch_array($r);
if($jml_row >0 && ($d[password]==$input_password))            << di tambah pengecekan inputan password thd password di dtabase
 
 
OK deh sekian dlu trik mengatasi SQL Injection.nya.. klo ada yg mu ditanyain silakan kontak ane lbih lanjut by email or fb yha.. :)
smoga bermanfaat :)


*note:tutorial ini murni tulisan pribadi, apabila ingin disebarkan mohon disertakan sumbernya thx :)
0 komentar
Kirimkan Ini lewat Email BlogThis! Bagikan ke X Berbagi ke Facebook

Rabu, 30 Mei 2012

Cara Simple Membuat Clean URL Dengan PHP

Diposting oleh HengkyZuckerbergSiPecanduKeyboard di 23.38


Sumber : http://www.herukurniawan.com/2009/09/cara-simple-membuat-clean-url-dengan-php/

Cara Simple Membuat Clean URL Dengan PHP

Sebenarnya ini udah basbag tapi berhubungan ada teman yang request dan aku janji ya mau ngak mau harus ditepati.
untuk CMS kelas Berat seperti WordPress dan kawan – kawan kita tidak perlu repot – repot, seperti di wordpress kita tingal mensetting dari dasboard menu permalink. namun apabila menginstall wordpress di lokal dan permalinknya masih error bisa diikuti step – step dibawah ini juga untuk penyetingan secara manual.
dimulai dengan untuk apa itu clean url?, konon katanya google dan mesin pencari lainya sangat demen dengan path url yang rapi, pasti rekans udah bingun. Silahkan liat contoh URL dibawah
http://domainkamu/?p=about
dan
http://domainkamu/about.html
Untuk urusan sama SEO lebih dianjurkan mengunakan contoh URL yang kedua, nah dengan menggunakan teknik CLEAN URL kita bisa menyulap contoh URL yang pertama menjadi seperti contoh yang kedua.
silahkan ikuti langkah – langkah berikut (sebagai contoh menggunakan webserver XAMPP)
  1. Cari file “php.ini ” pada folder [folder installasi]/php/
    lalu cari pada bagian “;extension=php_curl.dll”
    hapus tanda “;“
  2. Cari file” httpd.conf ” pada folder [folde installasi]/apache/conf/
    lalu cari pada bagian “#LoadModule rewrite_module modules/mod_rewrite.so”
    hapus tanda komentar didepanya “#”
  3. Selanjutnya restart apache dari control panel
  4. Silahkan copy kode dibawah ini dan beri nama file “.htaccess”
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php?page=$1 [L]
    </IfModule>
  5. Lalu copy kode dibawah ini dan beri nama “index.php”
    <?php
     $url = explode("/",$_SERVER["REQUEST_URI"]);
     $p  = $url[2];
     if($p==''){ $p='home'; }
     echo "<a href='./'>home</a> | <a href='about.html'>About</a>";
     if($p == 'home')
     {
      echo "Halaman Awal";
     }
     elseif($p == 'about.html')
     {
      echo "Halaman About";
     }
    ?>
  6. Buka Browser coba panggil apa yang sudah dibuat tadi misalkan kita mencopykan kedua file tadi (index.php dan .htaccess) kedalam folder clean-url, yang diperhatikan lagi pastikan folderclean-url itu didalam folder htdocs lalu tinggal kita panggi aja di browser
    contoh : “http://localhost/clean-url” silahkan lihat apa yang terjadi jika menklik menu “about“.
catatan
Pada bagian “$p  = $url[2];”
apabila menjalankanya tanpa subfolder langsung di folder htdocs / public_html silahkan ubah urutan arraynya dari 2 ke 1
contoh “$p  = $url[1];”
semoga buat rekans yang nyoba tutorial yang aku kasi diatas ngak ada error, klo ada error mohon di maafkan karna aku cuma manusia biasa yang masih banyak kesalahan disana sini *cara ngeles biar ntar klo salah ngak dituntut*
hepi coding pren
5 komentar
Kirimkan Ini lewat Email BlogThis! Bagikan ke X Berbagi ke Facebook

Sabtu, 26 Mei 2012

Cara buat menu print dengan PHP

Diposting oleh HengkyZuckerbergSiPecanduKeyboard di 08.52
Sumber: http://rifkyiip.wordpress.com/category/php/



print dengan PHP

March 30, 2009
waduh, di tempat kerja gw d haruskan pake PHP! (padahal waktu kuliah belajar PHP gw ga pernah ngerti.. emoticon ngertinya cuma HTML itu juga ga di perdalamin!!) biasa manusia klo udah tuntutan pasti usahanya keras dan alhamdulillah jd jatuh hati nih ke PHP!!hehehe..
mentok waktu di suruh buat laporan! maunya kaya crystal report, ternyata ga ada! jd pake HTML aja deh!!
masih aja ada masalah, walaupun boleh tanpa tombol print yaitu pake File -> Print.. tapi gw kurang puas dengan itu!
tanya-tanya temen an konsultasi sama mbah google ternyata dapet juga dengan ga habis 1 hari!
ni codingnya :
Buat tombolnya printnya di halamn preview report
<input type=”button” name=”btn_cetak” onClick=”cetak()” value=”Cetak”>
Buat script javascript diantara tag
function cetak(param){
window.open(“cetak.php?param=”+param,”cetak”,”width=500,heigth=500,scrollbars=1″)
}

Di cetak php
Sehingga jika cetak.php diload maka akan langsung muncul dialog priint
eh, itu dapet dari orang!(bukan gw yg buat) ini cuma media penyampaian aja.. (semoga membantu) maklum blom menguasai (masih ngeja nih)
tapi itu gw juga masih blom puas!! karena bisa ngeliat hasilnya kalo udah di print aja! ok akhirnya cari-cari lagi dan mbah google sangat amat baik ngasih gw script seprti ini :

01<html>
02<head>
03<title>Tes</title>
04 
05<style type="text/css">
06@media print {
07input.noPrint { display: none; }
08}
09</style>
10 
11</head>
12<body>
13 
14<?php
15class orang {
16var $nama = ‘Nyoba Print’;
17var $tinggal = ‘Di HTML’;
18}
19$new_plesh=new orang();
20echo "Tugas saya adalah ".$new_plesh->nama;
21echo "<br>";
22echo "Tinggal di :".$new_plesh->tinggal;
23 
24?>
25<form><input class="noPrint" type="button" value="Print"onclick="window.print()"></form>
26 
27</body>
28</html>

dengan itu gw baru berasa puas!
pertamanya sih tombol printnya pun ikut ke print, tapi pas pake css itu selesai juga 1 masalah gw! alhamdulillah
nb : semoga berguna
9 komentar
Kirimkan Ini lewat Email BlogThis! Bagikan ke X Berbagi ke Facebook
Postingan Lebih Baru Postingan Lama Beranda
Langganan: Postingan (Atom)

Sponsored

  • banners
  • banners
  • banners
  • banners

Blog Archive

  • ▼  2012 (25)
    • ►  September (1)
    • ►  Juni (2)
    • ▼  Mei (4)
      • Mengatasi/Mencegah SQL Injection pada PHP
      • Cara Simple Membuat Clean URL Dengan PHP
      • Cara buat menu print dengan PHP
      • Menggabung Database
    • ►  April (18)

Followers

Pages

  • Beranda
Diberdayakan oleh Blogger.

Popular Posts

  • Pengalaman orang lain menggunakan TP Link WA5210G
    Keuntungan: Harga murah So, harga murah vs kualitas.. Apakah sebanding? Menurut:.... Sharing di: http://sukrawan.com/2010/10/18/review...
  • Cara buat menu print dengan PHP
    Sumber:  http://rifkyiip.wordpress.com/category/php/ print dengan PHP March 30, 2009 waduh, di tempat kerja gw d haruskan pake PHP! (p...
  • Cara Simple Membuat Clean URL Dengan PHP
    Sumber :  http://www.herukurniawan.com/2009/09/cara-simple-membuat-clean-url-dengan-php/ Cara Simple Membuat Clean URL Dengan PHP ...
  • Mencari radio point to point untuk bisa menembus jarak 80 km
    http://www.forummikrotik.com/wireless-networking/11997-help-mengenai-sektoral-waveguide-jarak-jauh.html Ungkapan Pertanyaan dan Masalah= ...
  • Kehidupan Seorang Programmer
    Sumber: http://taufiqramadhan.blogspot.com/2010/01/kehidupan-seorang-programmer.html  Kehidupan Seorang Programmer Seperti logi...
  • (tanpa judul)
    Sumber :  http://blog.sibudi.net/memahami-sql-join-dengan-diagram-venn/ Memahami SQL Join dengan Diagram Venn Query   ...
  • Membuat Hit Counter Pengunjung
    Sumber: http://begitublog.com/motivasi-bisnis/membuat-hit-counter-sendiri-pakai-php-mudah-kok/ Membuat Hit Counter sendiri pakai PHP, mu...
  • Nasib programmer
    Nasib programmer di negara kita…   Dari beberapa kali diskusi dengan temen-temen yang bekerja sebagai programmer, baik sebagai freelanc...
  • Cara Pasang Widget Share Artikel Facebook
    Sumber :  http://hasiaulia.net/2010/02/22/cara-pasang-widget-share-artikel-facebook/ Cara Pasang Widget Share Artikel Facebook Post...
  • Nasib Istri seorang programmer
     Diposkan oleh Chaerul Umam di 23:13 Kamis, 29 Juli 2010 Label: Entertainment 0 Comments Sebelum memutuskan untuk men...

Blogroll

About

Blog Archive

  • ▼  2012 (25)
    • ►  September (1)
    • ►  Juni (2)
    • ▼  Mei (4)
      • Mengatasi/Mencegah SQL Injection pada PHP
      • Cara Simple Membuat Clean URL Dengan PHP
      • Cara buat menu print dengan PHP
      • Menggabung Database
    • ►  April (18)

Blogger templates

Blogger news

Recent Posts With Thumbnails v3

 

© 2010 My Web Blog
designed by DT Website Templates | Bloggerized by Agus Ramadhani | Zoomtemplate.com