untuk kode ascii lengkap anda dapat melihatnya disini jadi anda tidak perlu menghafalnya :)
Fungsi dari pembatasan karakter dengan javascript adalah untuk mengatasi masalah keamanan dari serangan sql injection, penggunaan karakter yang dilarang dll. Sql injection sendiri adalah cara / metode untuk membobol suatu program / aplikasi dengan cara menginputkan script SQL untuk mencegahnya dapat melalui beberapa cara salah satunya adalah pembatasan karakter pada form login. berikut langkah-langkahnya:
Baca juga membuat kriptografi enkripsi sederhana
- buat form login dengan struktur pada postingan berikut
- kemudian tambahkan javascript diantara <head> </head>
- pada input type tambahkan event onkeypress event ini adalah event yang dijalankan apabila keyboard di tekan
<script type="text/javascript">script di atas digunakan untuk membatasi karakter sesuai dengan kode ASCII apabila pada form di inputkan denggan kode ASCII 34,61,35,39 maka form tidak akan menampilkan apa-apa
function runScript(e) {
if (e.keyCode == 34) {
return false
}else if (e.keyCode == 61){
return false
}else if (e.keyCode == 35){
return false}
else if (e.keyCode == 39){
return false}
else
{
return true;
}
}
</script>
<input type="text" name="username" onkeypress="return runScript(event)" />
<input type="password" name="password" onkeypress="return runScript(event)" />
berikut saya berikan script lengkapnya
Baca juga perbedaan antara enkripsi dan hashing
dari script di atas akan menampilkan seperti gambar berikut dan jika anda mencoba untuk memasukkan huruf / karakter yang terlarang maka secara otomatis huruf / karakter yang anda inputkan tidak muncul di form input
<html>
<head>
<title>Pembatasan Karakter</title>
<script type="text/javascript">
function runScript(e) {
if (e.keyCode == 34) {
return false
}else if (e.keyCode == 61){
return false
}else if (e.keyCode == 35){
return false}
else if (e.keyCode == 39){
return false}
else
{
return true;
}
}
</script>
</head>
<body>
<p align="center"> <strong>Login</strong></p>
<form id="form1" name="form1" method="POST" action="ceklog.php">
<table width="500" align="center" bgcolor="#CCCCCC">
<tr>
<td>Username</td>
<td>
<input type="text" name="username" onkeypress="return runScript(event)" />
</td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password" onkeypress="return runScript(event)" /></td>
</tr>
<tr>
<td><input type="submit" name="tombol" value="login" /></td>
<td></td>
</tr>
</table>
</form>
</body>
</html>
sebenarnya kita dapat mengecek tombol keyboard yang kita tekan berapak kode asciinya yaitu dengan menggunakan script berikut
<script type="text/javascript">
function runScript(e) {
alert(e.keyCode);
}
</script>
dan form input untuk menjalankannya
<input type="text" name="username" onkeypress="return runScript(event)" />jika kita menekan tombol apapun pada keyboard kita pada form input yang tersedia maka secara otomatis muncul alert kode ascii yang mewakili tombol keyboard.
Bonus mengubah huruf menjadi biner dan sebaliknya
sebagai note :- terkadang beberapa browser memiliki key code berbeda-beda untuk beberapa kode ascii tertentu
- tombol PrtSc (Print Screen) terkadang tidak dideteksi oleh browser tertentu (biasanya kodenya adalah 44)
- ingat ASCII juga membedakan kodenya antara huruf besar dan huruf kecil
sekian tutorial saya kali ini tentang membatasi karakter form login dengan kode ascii sebagai dasar jika anda ingin belajar tentang keamanan data semoga bermanfaat :)
jangan lupa biasakan tinggalkan komentar :)
1 komentar:
komentar