Membuat Anti SQL Injection

Tinggalkan komentar

Contoh Aplikasi Form Login
Langkah pertama adalah pembuatan database:

Kemudian membuat script php:
Script
1. Public_html /Login _form.php
<!DOCTYPE html>
<head>
<title>form login</title>
</head>
<body>
<form name=”login” action=”config/login_check.php” method=”post”>
<table border=”1″ align=”center” bordercolor=”#00CCFF”>
<tr><td colspan=”2″><div align=”center”>Form Login</div></td></tr>
<tr><td>Username</td><td> : <input type=”text” name=”username”></td></tr>
<tr><td>Password</td><td> : <input type=”password” name=”password”></td></tr>
<tr><td colspan=”2″><div align=”center”>
  <input type=”submit” value=”Login”>
</div></td></tr>
</table>
</form>
</body>
</html>
2. public_html/config/login_check.php
<?php
include “../conn.php”; //connection file
function anti_injection($data){
$filter = mysql_real_escape_string(stripslashes(strip_tags(htmlspecialchars($data,ENT_QUOTES))));
return $filter;
}
$username = anti_injection($_POST[‘username’]);
$pass     = anti_injection(md5($_POST[‘password’]));
//make sure the username and password are character or number.
if (!ctype_alnum($username) OR !ctype_alnum($pass)){
echo “Bingo!! sekarang login form telah terlindungi. Tidak ada SQL Injection.”;
}
else{
$login=mysql_query(“select * from users where username=’$username’ and password=’$pass’
and block=’N'”);
$found=mysql_num_rows($login);
$r=mysql_fetch_array($login);
//If found the username and password
if ($found > 0){
session_start();
include “timeout.php”;
$_SESSION[username]     = $r[username];
$_SESSION[fullname]     = $r[full_name];
$_SESSION[passuser]     = $r[password];
$_SESSION[leveluser]    = $r[level];
// session timeout
$_SESSION[login] = 1;
timer();
$old_sid = session_id();
session_regenerate_id();
$new_sid = session_id();
mysql_query(“update users set id_session=’$new_sid’ where username=’$username'”);
header(‘location:../home.php’); //page redirection, after success login
}
else{
echo “<center>LOGIN GAGAL!!<br/>
salah username atau password.<br/>
atau accaunt anda diblokir<br/>”;
echo “<a href=../login_form.php><b>Coba Lagi</b></a></center>”;
}
}
?>
3. . public_html/config/timeout.php
<?php
session_start();
function timer(){
$time=10000; //set the timer
$_SESSION[timeout]=time()+$time;
}
function login_check(){
$timeout=$_SESSION[timeout];
if(time()<$timeout){
timer();
return true;
}else{
unset($_SESSION[timeout]);
return false;
}
}
?>
4. public_html/config/logout.php
<?php
session_start();
session_destroy();
echo “<center>Anda berhasil Keluar dari sistem.<b>[LOGOUT]</b></center>”;
?>
5.public_html/home.php
<?php
session_start();
error_reporting(0);
include “config/timeout.php”;
if($_SESSION[login]==1){
if(!login_check()){
$_SESSION[login] = 0;
}
}
if($_SESSION[login]==0){
header(‘location:login_form.php’);
}
else{
if (empty($_SESSION[‘username’]) AND empty($_SESSION[‘passuser’]) AND $_SESSION[‘login’]==0){
“<center>Untuk mengakses halaman ini, login dulu ya!<br/>”;
echo “<a href=login_form.php><b>LOGIN</b></a></center>”;
}
else{
?>
<!DOCTYPE html>
<head>
<title></title>
<style type=”text/css”>
<!–
#Layer1 {
            padding:10px;
            width:1000px;
            height:280px;
            background-color: #00CCFF;
}
.style1 {color: #000000}
–>
</style>
</head>
<body>
<div id=”Layer1″>
  <h1 align=”center”>Selamat Datang </h1>
  <h4 align=”center”>Di Web Ku </h4>
  <p align=”center”><a href=”config/logout.php” target=”_parent”>logout</a></p>
  <p>&nbsp;</p>
</div>
</body>
</html>
<?php
}
}
?>
6.public_html/conn.php
<?php
$host = “localhost”;
$username = “root”;
$password = “”;
$databasename = “users”;
$connection = mysql_connect($host, $username, $password) or die(“Kesalahan Koneksi … !!
“);
mysql_select_db($databasename, $connection) or die(“Database Error”);
?>
Source : suranto-uty.blogspot.com
Iklan

reCAPTCHA

1 Komentar

The FREE anti-bot service that helps digitize books.
Easy to add, strong security, accessible to blind users.

Apakah reCAPTCHA?

reCAPTCHA adalah layanan CAPTCHA gratis yang melindungi situs Anda terhadap spam, pendaftaran berbahaya dan bentuk-bentuk serangan di mana komputer mencoba untuk menyamarkan diri mereka sebagai manusia; CAPTCHA adalah Completely Automated Public Turing test untuk memberitahu Komputer dan Manusia Apart. reCAPTCHA datang dalam bentuk widget yang Anda dapat dengan mudah menambahkan ke blog Anda, forum, formulir pendaftaran, dll

In addition to protecting your site, reCAPTCHA also helps us digitize old books and newspapers. Learn how reCAPTCHA works and join our forum.

Source : https://developers.google.com/recaptcha/

Cara Mengarahkan Website ke Halaman UnderContruction Menggunakan .htaccess

Tinggalkan komentar

Adakala banyak terjadi masalah-masalah bagi para webmaster melakukan perbaikan pada websitenya. Misalnya ketika hosting baru saja uptime, atau kerusakan disebabkan hacker atau kesalahan-kesalahan server, juga bisa saja sang webmaster ingin mengupdate atau mempatch bug-bug pada websitenya.

Sebenarnya jika kita mengakses website kita harus melewati aturan yang filenya bernama .htaccess. File tersebut bisa ada bisa juga tidak ada tergantung sang webmasternya. Tetapi kebanyakan, penggunaan .htaccess ini sangat penting bagi sebuah website. Misalnya apabila kita ingin mengurangi url yang kepanjangan (clean url). Sebenarnya file yang diakses pada alamat yang sama, namun pada address bar browser tertulis berbeda dari alamat sebenarnya karena script pada .htaccess. Hal itu dapat mencegah terjadinya XSS (Cross-Site Scripting). Selain itu juga mencegah browser mengakses file tertentu, atau dapat juga mengarahkan website ke halaman tertentu (redirect).

Nah, dari itu, kita coba membuat halaman UnderContruction memakai .htaccess. Begini langkah-langkahnya :

  • Buat halaman UnderContruction menggunakan halaman HTML atau PHP atau terserah anda.
  • Jika anda sudah punya file .htaccess untuk website anda, coba backup dulu, lalu buat lagi file .htaccess yang baru. Scriptnya seperti ini :
Selec AllCode:

1
2
3
4
5
RewriteEngine on
RewriteCond %{REQUEST_URI} !/perbaikan.html$
RewriteCond %{REMOTE_HOST} !^125\.166\.248\.20

RewriteRule $ /perbaikan.html [R=302,L]
  • Pada contoh di atas, kita misalkan nama halaman undercontructionnya adalahperbaikan.html, lalu IP admin adalah 125.166.248.20
  • Jika kita mengakses domain kita dengan URL apapun akan tetap didirect keperbaikan.html kecuali jika IPnya IP admin.
  • Untuk nama file dan IP adminnya silakan diubah, kalau anda tidak tahu berapa alamat IP anda, bisa anda cek di http://myipaddress.com
  • Jika ada file yang rawan, dan harus diproteksi caranya tambahkan script ini di bawah script tadi :
Selec AllCode:

1
2
3
4
<Files "config.php">
Order Allow,Deny
Deny from All
</Files>
  • Script di atas dimisalkan bahwa file yang diproteksi adalah config.php. Walaupun kelihatannya sepele, namun sangat penting karena data akun penting pada CMS tertentu terletak pada file config.php

Yang penting, berhati-hatilah saat UnderContruction. Jangan sampai para peretas memanfaatkan kesempatan ini untuk menguasai website anda.

 

Source : uwah.web.id