XSS merupakan suatu serangan yang paling mudah yang dilakukan secara seseorang untuk keamanan web. karena cukup memasukkan skrip HTML ke dalam salah satu posting komentar, maka halaman web akan dapat dialihkan.. sebagai contoh ketika Anda mengetikkan komentar kepada halaman yang tidak dilengkapi anti XSS, apakah itu kode HTML untuk tabel ataupun kode untuk redirect, maka tampilan akan menjadi hancur..
yang paling parah, serangan ini juga dapat merusak sistem loh..
ada teknik yang dapat kita lakukan untuk menghindari serangan ini. Anda cukup membuat skrip berikut pada data diposting:
function cegah_xss($data){
$i = stripshlases(strip_tags( htmlspecialchars($data, ENT_QUOTES)));
return $i;
}
$nama = cegah_xss($_POST[nama]);
$komentar = cegah_xss($_POST[komentar]);
mungkin sampai disini saja pembahasannya.. sisanya tinggal simpan saja kok ke database.. :)
Semoga bermanfaat..
piet
pak, kalau mencegah XSS attack pada Cakephp gimana caranya?..
Agus Saputra
bisa mas.. pake Sanitize.. caranya, import dulu Sanitize tersebut dengan cara kode:
App::import('Sanitize');
klo uda, diposting operasinya tambahkan skrip ini:
Sanitize::html($this->data['Article']['komentar']); :)
Sanitize::html itu berfungsi buat mencegah kode html masuk dan akan dianggap seperti teks biasa.. nih saya contoh ketik kode html:
<table border="1">
<tr>
<td> </td>
</tr>
</table> ...
tuh kan ..:)
isham
mas agus, gimana kalau tutorial diatas dijelaskan kode2nya.... spy kita paham. terimakasih
Agus Saputra
function cegah_xss($data){
$i = stripshlases(strip_tags( htmlspecialchars($data, ENT_QUOTES)));
return $i;
}
itu artinya kita membuat function yang dimana didalamnya memiliki fungsi untuk melakukan XSS filtering terhadap data yang dimasukkan ($data) melalui variabel $i.. kemudian selanjutnya nilai $i tersebut dikembalikan (return $i) lagi kepada function cegah_xss..
untuk selanjutnya, kita menggunakan cegah_xss untuk memvalidasi data.. misal:
cegah_xss($_POST['nama'])..
teknik ini mengacu pada sedikit teknik Object Oriented..
Stripslashes = untuk menghilangkan tanda slash (\) pada setiap quote..
Strip_tags = untuk mengabaikan tag, baik HTML / PHP
htmlspecialchars = hampir sama seperti strip_tags, hanya saja fungsi ini lebih mengarah pada simbol <,>,&," dan '
ENT_QUOTES = untuk mengkonversi tanda petik dan ganda secara bersamaan..
isham
terima kasiih.... kalau begini jadi lega, mas kalau bisa tulis buku ttg php oop mksh
Agus Saputra
isham @ sama2 mas.. untuk buku ttg OOP, mungkin sy akan tampung dulu..
feri
cara membuat kotak komentar di website yg kita bangun memakai macromedia seperti blogspot
menggunakan macromedia gimana,tks
Agus Saputra
feri @ kebetulan sy hampir tidak pernah menggunakan Macromedia ^^
oioi
Tq bro, it's work..
tapi dengan perubahan
stripshlases
harusnya
stripslashes
salah huruf
asep irman
mas agus untuk .htaccess nya seperti http://www.agussaputra.com/articles/view/89-perhati an-untuk-seluruh-klien,-buyer,-dan-pengunjung gimana ya. mohon bantuannya. terima kasih.
Agus Saputra
asep irman @ tidak perlu .htaccess kok, langsung saja tulis pada linknya...
dibelakang id, tulis saja judulnya (menyambung)..
purwanto
mas tolong lebih detail lagi donk untuk penyimpanan file atau codingnya
saya masih newbie nii
Agus Saputra
purwanto @ penyimpanan kodingnya diletakkan pada bag. atas :
contoh:
<?php
function cegah_xss($data){
xxxx
}
$nama = cegah_xss($_POST[nama]);
$komentar = cegah_xss($_POST[komentar]);
// skrip mysql_query biasa
ugi
<h1>LUMANYAN</h1>
ugi
jdhsdjfhsdjfhjsdfhsdf
hfjsdfhksdfhsdkf
gjkfsd fjksdhfdjkfhsdkf
hjfdf
jkdfdfk
jkfhsdkfhsdkf
hfkdsfhsdkf
jhkdsfhdskfskdf
Agus Saputra
ugi @ thanks untuk testingnya.. :)
SyamsQ
Untuk Blogspot memasukkan skripnya di template atau di posting?
Agus Saputra
SyamsQ @ maaf saya kurang bermain di blogspot mas