Sabtu, 21 Februari 2009

Membuat Halaman Admin dengan Akses 1 IP









Setiap web pasti memiliki halaman admin. Halaman admin disini maksudnya adalah halaman web yang digunakan oleh webmaster untuk mengatur isi dan tampilan web. Tentunya kita pasti tidak mau jika halaman admin ini diketahui oleh pihak lain. Menggunakan username dan password sah-sah saja. Tetapi tidak menutup kemungkinan user lain akan mecoba-coba keamanan login yang telah anda buat.

Selain menggunakan username dan password, ada cara lain untuk mengamankan halaman admin. Yakni dengan membatasi IP Address. Jadi hanya IP Address tertentu yang dapat membuka halaman admin ini. Ah, setelah cerita panjang, pastinya anda sudah tidak sabar ingin mengetahui bagaimana cara membuat halaman admin yang aman.

Pertama-tama, anda harus mengetahui IP Address anda. Untuk mengetahuinya, anda dapat menggunakan perintah berikut :

print ?IP anda : ?.$HTTP_SERVER_VARS['REMOTE_ADDR'];
?>

Bila sudah, maka pada bagian admin, Misalnya anda letakkan pada folder ?Administrator/index.php?, anda ketikkan perintah berikut pada bagian awal script :

$ip = ?127.0.0.1? // ip yang telah dicatat sebelumnya
if($HTTP_SERVER_VARS['REMOTE_ADDR'] != $ip) {
header(?location: ../index.php);
} else {
Setcookie(?ip?,$ip); }
?>

Lalu untuk setiap halaman web lainnya, (yang juga terdapat pada folder administrator) anda tambahkan perintah berikut :

$ip = ?$_COOKIE[?ip?]; ? // pemanggilan cookie ip
if($HTTP_SERVER_VARS['REMOTE_ADDR'] != $ip) {
print ?Anda tidak mempunyai hak akses untuk halaman ini.....!!!!?;
} else {
// tampilan menu anda
}
?>

Jangan lupa lakukan pemanggilan cookies atau session untuk username dan password admin yang telah anda buat. Contoh diatas hanya untuk pemanggilan cookies untuk IP Address. Anda juga dapat membuat lebih dari 1 IP Address yang dapat mengakses admin anda. Tentunya dengan menggunakan database.

CREATE TABLE `web_saya`.`tb_admin` (
`id` BIGINT( 20 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`ip` VARCHAR( 30 ) NOT NULL
) ENGINE = MYISAM

INSERT INTO `web_saya`.`tb_admin` (
`id` ,
`ip`
)
VALUES (
NULL , '127.0.0.1'
);

Config.php
$host = ?localhost?;
$user = ?root?;
$pass = ??;
$konek = mysql_connect($host,$user,$pass) or die (?Periksa nama host,user,atau pass..?);
$pilih_db = mysql_select_db(?web_saya?);
?>

Lalu pada bagian index.php yang terdapat pada folder administrator, anda ketikkan script berikut:

Index.php

Include(?config.php?);
$ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
$valid_ip = mysql_query(?SELECT * FROM tb_admin WHERE ip=?$ip??);
if (!= $valid_ip) {
print ?Anda tidak mempunyai hak akses untuk halaman ini !?;
} else {
// Tampilan menu admin anda
}
?>

Dengan script diatas, anda dapat memasukkan lebih dari 1 IP Address yang dapat mengakses halaman admin anda..

Selamat mencoba....

Download Sourcenya disini

Tidak ada komentar:

Posting Komentar