Javascript untuk menghindarkan tombol Back

Pernahkan kamu membuat aplikasi berbasis web (dengan PHP) dan terdapat penanganan login dan logout (session)?
Jika pernah, mungkin kamu pernah juga mengalami masalah berikut:
Fungsi logout telah dipanggil dengan :
<?php
session_unset();
session_destroy();
?>

Dengan script PHP tersebut, sebenarnya variabel session telah dihapus dari browser (kondisi logout). Meskipun demikian, history browser tidak ikut dihapus sehingga memungkinkan user untuk menekan tombol Back di browser sehingga dapat membuka halaman yang pernah dibuka ketika dalam kondisi login. Inilah masalah yang tidak kita inginkan karena membuat fungsi logout tersebut menjadi sia-sia (kalau tidak ada penanganan lain). Maka timbul pertanyaan, mungkinkah menghapus history browser?
Kode JavaScript berikut ini (telah dicoba di IE7, Firefox 2, dan Opera 9.5) dapat dimanfaatkan untuk memodifikasi history untuk menghindarkan efek tombol Back. Namun tentu bukan untuk 'menghapus' history browser:
<script language="javascript">
history.go(-history.length);
location.href = "home.php"; /* ganti dengan halaman lain yang dituju*/
<script>

Selain itu, perlu juga memodifikasi perilaku browser agar tidak men-cache konten web:
<html>
<head>
  <meta http-equiv="Expires" CONTENT="0">
  <meta http-equiv="Cache-Control" CONTENT="no-cache">
  <meta http-equiv="Pragma" CONTENT="no-cache">
</head>

Catatan:
Mungkin tombol Back masih memungkinkan untuk diklik, coba kliklah tombol Back (berulang kali, kalau bisa) & lihat efeknya.
Semoga bermanfaat!

0 comments:

Post a Comment

Powered By Blogger

Label Cloud