Pada postingan saya yang sebelumnya dengan judul Bugs pada cms lokomedia versi 1 dijelaskan bahwa CMS Lokomedia memiliki bugs yang dapat mengakibatkan seorang yang belum login dapat masuk kehalaman admin.
Bugs ini penyebabnya adalah tidak digunakannya session pada pemanggilan file content.php sehingga siapapun dapat mengaksesnya sebagai seorang administrator/user.
Nah untuk dapat mengatasi bugs pada cms lokomedia cukup mudah anda hanya perlu menambahkan beberapa baris script pada file content.php
Pertama-tama carilah script berikut ini :
if ($_GET[module]=='home'){Sebelum script tersebut tambahkanlah script berikut ini :
if($_SESSION[leveluser]=="admin")Berikutnya carilah scrit berikut ini :
{
else{Setelah script tersebut, tambahkanlah script berikut ini :
echo "<p><b>MODUL BELUM ADA</b></p>";
}
}Nantinya secara keseluruhan script anda akan menjadi seperti ini :
else
{
echo "<center><b>Anda Tidak Dapat Mengakses Halaman Ini</b></center>";
}
<?phpDengan menggunakan script diatas yang bisa mengakses file content.php adalah hanya administrator saja. bagaimana jika anda ingin membuat jika modul bisa diakses oleh administrator dan user ?
include "../config/koneksi.php";
include "../config/library.php";
include "../config/fungsi_indotgl.php";
include "../config/fungsi_combobox.php";
include "../config/class_paging.php";
if($_SESSION[leveluser]=="admin")
{
// Bagian Home
if ($_GET[module]=='home'){
echo "<h2>Selamat Datang</h2>
<p>Hai <b>$_SESSION[namauser]</b>, silahkan klik menu pilihan yang berada
di sebelah kiri untuk mengelola content website. </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p align=right>Login Hari ini: ";
echo tgl_indo(date("Y m d"));
echo " | ";
echo date("H:i:s");
echo "</p>";
}
// Bagian Profil Lembaga
elseif ($_GET[module]=='profil'){
$sql = mysql_query("SELECT * FROM modul WHERE id_modul='11'");
$r = mysql_fetch_array($sql);
echo "<h2>Profil Lembaga</h2>
<form method=POST enctype='multipart/form-data' action=aksi.php?module=profil&act=update>
<input type=hidden name=id value=$r[id_modul]>
<table>
<tr><td><img src=foto_berita/$r[gambar]></td></tr>
<tr><td>Ganti Foto : <input type=file size=30 name=fupload></td></tr>
<tr><td><textarea name=isi cols=94 rows=30>$r[static_content]</textarea></td></tr>
<tr><td><input type=submit value=Update></td></tr>
</form></table>";
}
// Bagian User
elseif ($_GET[module]=='user'){
include "modul/mod_user.php";
}
// Bagian Modul
elseif ($_GET[module]=='modul'){
include "modul/mod_modul.php";
}
// Bagian Agenda
elseif ($_GET[module]=='agenda'){
include "modul/mod_agenda.php";
}
// Bagian Berita
elseif ($_GET[module]=='berita'){
include "modul/mod_berita.php";
}
// Bagian Pengumuman
elseif ($_GET[module]=='pengumuman'){
include "modul/mod_pengumuman.php";
}
// Bagian Banner
elseif ($_GET[module]=='banner'){
include "modul/mod_banner.php";
}
// Bagian Hubungi Kami
elseif ($_GET[module]=='hubungi'){
include "modul/mod_hubungi.php";
}
// Apabila modul tidak ditemukan
else{
echo "<p><b>MODUL BELUM ADA</b></p>";
}
}
else
{
echo "<center><b>Anda Tidak Dapat Mengakses Halaman Ini</b></center>";
}
?>
Tinggal rubah scriptnya menjadi seperti berikut ini :
<?phpNah setelah anda ubah script pada file content.php cobalah akses kembali web dengan memanggil URLnya seperti berikut :
include "../config/koneksi.php";
include "../config/library.php";
include "../config/fungsi_indotgl.php";
include "../config/fungsi_combobox.php";
include "../config/class_paging.php";
// Bagian Home
if ($_GET[module]=='home'){
if($_SESSION[leveluser]=="admin" OR $_SESSION[leveluser]=="user")
{
echo "<h2>Selamat Datang</h2>
<p>Hai <b>$_SESSION[namauser]</b>, silahkan klik menu pilihan yang berada
di sebelah kiri untuk mengelola content website. </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p align=right>Login Hari ini: ";
echo tgl_indo(date("Y m d"));
echo " | ";
echo date("H:i:s");
echo "</p>";
}
else
{
echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
}
}
// Bagian Profil Lembaga
elseif ($_GET[module]=='profil'){
if($_SESSION[leveluser]=="admin")
{
$sql = mysql_query("SELECT * FROM modul WHERE id_modul='11'");
$r = mysql_fetch_array($sql);
echo "<h2>Profil Lembaga</h2>
<form method=POST enctype='multipart/form-data' action=aksi.php?module=profil&act=update>
<input type=hidden name=id value=$r[id_modul]>
<table>
<tr><td><img src=foto_berita/$r[gambar]></td></tr>
<tr><td>Ganti Foto : <input type=file size=30 name=fupload></td></tr>
<tr><td><textarea name=isi cols=94 rows=30>$r[static_content]</textarea></td></tr>
<tr><td><input type=submit value=Update></td></tr>
</form></table>";
}
else
{
echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
}
}
// Bagian User
elseif ($_GET[module]=='user'){
if($_SESSION[leveluser]=="admin")
{
include "modul/mod_user.php";
}
else
{
echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
}
}
// Bagian Modul
elseif ($_GET[module]=='modul'){
if($_SESSION[leveluser]=="admin")
{
include "modul/mod_modul.php";
}
else
{
echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
}
}
// Bagian Agenda
elseif ($_GET[module]=='agenda'){
if($_SESSION[leveluser]=="admin" OR $_SESSION[leveluser]=="user")
{
include "modul/mod_agenda.php";
}
else
{
echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
}
}
// Bagian Berita
elseif ($_GET[module]=='berita'){
if($_SESSION[leveluser]=="admin" OR $_SESSION[leveluser]=="user")
{
include "modul/mod_berita.php";
}
else
{
echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
}
}
// Bagian Pengumuman
elseif ($_GET[module]=='pengumuman'){
if($_SESSION[leveluser]=="admin")
{
include "modul/mod_pengumuman.php";
}
else
{
echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
}
}
// Bagian Banner
elseif ($_GET[module]=='banner'){
if($_SESSION[leveluser]=="admin")
{
include "modul/mod_banner.php";
}
else
{
echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
}
}
// Bagian Hubungi Kami
elseif ($_GET[module]=='hubungi'){
if($_SESSION[leveluser]=="admin")
{
include "modul/mod_hubungi.php";
}
else
{
echo "<center><b>Anda tidak dapat mengakses halaman ini</b></center>";
}
}
// Apabila modul tidak ditemukan
else{
echo "<p><b>MODUL BELUM ADA</b></p>";
}
?>
http://www.apaajadeh.com/admin/content.php?module=home
Hasilnya akan tampak seperti berikut ini :
Selamat mencoba..
6 comments:
Makasih atas info dan koreksinya pak..
Mohon bimbingannya kembali :)
@jiro : sama sama :)
sekarang sudah di perbaiki belum situsnya?
mau tnya file content.php pada awal nya sudah ada
if ($_GET[module]=='home'){
if ($_SESSION['leveluser']=='admin'){
tapi punya saya di bawah nya 'home' itu di ganti apa di biarkan sj ya
@Anonymous:
Tergantung kebutuhannya..
Kalau hanya mau admin saja yang mengakses ga usah dirubah juga gapapa..
Tapi kalo mau user juga bisa akses tambahin aja OR $_SESSION[leveluser]=="user"
tapi yang terpenting cek ada ga bagian yang ini :
else
{
echo "<center><b>Anda Tidak Dapat Mengakses Halaman Ini</b></center>";
}
kalo ga ada wajib ditambahin..
oke pak admin , terima kasih info nya :)
@victor:
sama-sama
Post a Comment