PHPIDS adalah Component Class berbasis PHP yang dapat mengenali jenis – jenis serangan pada website, mulai dari sql Injection, lfi, rfi, xss dan masih banyak lagi. Setiap Website dipastikan tidak pernah luput yang namanya Bug, Bug disini yang dimaksud adalah Kesalahan penulisan code dan kesalahan logika. Semua kesalahan pasti menimbulkan akibat, Akabat terburuk adalah tidak dapat di aksesnya sebuah website karena telah di susupi oleh Orang lain (Hacker),
Ingat serangan tidak hanya dilakukan dari sisi Website saja melainkan dari sisi Server, pada artikel kali ini kita hanya mengamankan Website – website yang sudah kalian buat dengan menggunakan PHPIDS yang terbukti sudah banyak yang telah menggunakan untuk menangkal berbagai serangan ke Website2
Berikut cara instalasinya :
1. Kalian bisa download phpids melalui link ini.
2. Setelah selesai Extract file Zip phpids
3. Untuk mencoba buat sebuah file seperti berikut
<html>
<head>
<title>isoweb PHPIDS</title>
<style> // css untuk table
table{background-color:#666;}
table tr td{background-color: #FFF;}
input[type=submit]{text-align:center;float:right;}
</style>
</head>
<body>
<?php
set_include_path(get_include_path() . PATH_SEPARATOR . ‘../lib/’); // Path dimana library phpids ditempatkan
if (!session_id()) { // jalankan session bila session id masih kosong
session_start();
}
require_once ‘IDS/Init.php’;
try{
/**
* bila kalian ingin memfilter semua variabel
* tinggal menambahkan
* ‘GET’ => $_GET, ‘COOKIE’ => $_COOKIE, ‘REQUEST’ => $_REQUEST
* pada contoh ini saya menggunakan Pos
**/
$request = array(
‘POST’ => $_POST,
‘GET’ => $_GET
);
/**
* Konfigurasi phpids
**/
$init = IDS_Init::init(dirname(__FILE__) . ‘/../lib/IDS/Config/Config.ini.php’);
$init->config[‘General’][‘base_path’] = dirname(__FILE__) . ‘/../lib/IDS/’;
$init->config[‘General’][‘use_base_path’] = true;
$init->config[‘Caching’][‘caching’] = ‘none’;
/*
* Ini sialisasi saat menjalankan phpids
**/
$ids = new IDS_Monitor($request, $init);
$result = $ids->run();
/*
* Bila phpids mendeteksi adanya serangan! jalankan perintah dibawah
**/
if (!$result->isEmpty()) {
echo $result; // Tampilkan Jenis Serangan ke Website
/* Log dapat disimpan dengan beberapa cara yaitu File ataupun database
* kali ini kita akan menyimpan pada sebuah file yang default akan disimpan pada folder tmp
*/
require_once ‘IDS/Log/File.php’; // jenis log yang digunakan adalah file
require_once ‘IDS/Log/Composite.php’;
$compositeLog = new IDS_Log_Composite();
$compositeLog->addLogger(IDS_Log_File::getInstance($init));
$compositeLog->execute($result);
}
}catch (Exception $err){
echo $err->GetMessage(); // pesan kesalahan jika terdapat error saat kesekusi phpids
}
?>
Contoh $_POST : <br />
<form action=”” method=”post” id=”frm_input”>
<table cellpadding=”1″ cellspacing=”2″>
<tr>
<td><textarea name=”textInput” rows=”13″ cols=”100″><?php echo $_POST[‘textInput’];?></textarea></td>
</tr>
<tr>
<td><input type=”submit” value=”submit” /></td>
</tr>
</table>
</form>
<br />Contoh $_GET : <br />
<a href=”?id=<script>alert(‘xss example’)</script>”>Klik disini untuk Mencoba $_GET</a>
</body>
</html>