Supaya User A tidak bisa melihat Data User B di PHP
Sebuah aplikasi berbasis web php yang digunakan oleh banyak pengguna tentu akan membutuhkan ketelitian dalam proses pembuatanya, karena ini melibatkan banyak pengguna, maka tentunya dalam kondisi/kebutuhan tertentu jangan sampai ada proses dimana User A dapat melihat data tertentu dari User B , jadi ii lebih ke masalah privasi, atau keamanan data diantara user/member yang tergabung.
Untuk mencegah Supaya User A tidak bisa melihat Data User B di PHP maka kita perlu membandingkan nilai session yang sedang aktif dengan database yang sedang diaksesnya, oleh karena itu misal ketika setiap user A menambahkan data ke database, maka data yang ditambahkannya tersebut harus ditandai sebagai milik dari user A, entah menggunakan id atau nomor tertentu yang nantinya bisa dibandingkan dengan nilai session yang sedang aktif.
Contohnya saya memiliki tabel dengan nama data_jomblo, dengan data – data sebagai berikut
- Id
- Nama_jomblo
- Alamat
Maka jika seandainya data tersebut diakses oleh banyak member yang bisa menginput data jomblo ke tabel, dan melihat masing – masing data yang sudah di inputkannya, maka struktur tabel tersebut perlu ditambah kolom data siapa yang menginputkannya ata kode tertentu untuk menandainya, sehingga jadi seperti berikut
- Id
- Nama_jomblo
- Alamat
- Username_penginput_data
Kolom tabel keempat nantinya bisa dibandingkan dengan nilai session yang aktif, jika misal user A mencoba mengakses data milik User B, maka nanti bisa dibuat percabangan dengan membandingkan nilai session username yang aktif dengan kolom data username yang menginputkannya, jika ditemukan kondisi yang berbeda atau data tidak sama percis, maka Anda bisa mengalihkan user tersebut, karena query data misal berdasarkan username atau session yang aktif, sehingga ketika user A mengakses data User B, maka secara otomatis dia akan berusaha query ke data user B yang nilai data pada (kolom 4 / yang dijadikan session) didalamnya tidak sama ketika dibandingkan lalu tinggal buat kondisi kemana user tersebut akan diarahkan.
Sederhanya mungkin seperti itu cara supaya user A tidak bisa melihat user B di PHP dan secara teknik cara membandingkannya mungkin sangat sederhana dibandingkan cara menjelaskannya
Contoh :
<?php
//Bandingkan nilai sesion dengan salah satu nilai di DB
//untuk memastikan bahwa yang akses data adalah user yang bersangkutan
$bnd1=htmlentities($_SESSION['user']); //nilai session yang aktif berdasarkan nik
$bnd2=$nik; //nilai data dalam database username berdasarkan nik
if($bnd1!=$bnd2){
//jika tidak sama percis proses kodenya, jika tidak maka tidak akan dijalankan
echo '<script language="javascript">alert
("Maaf ini bukan data Anda!");document.location="lihat";</script>';
mysqli_close($koneksi);
}
?>
Kurang lebih seperti itu, intinya bandingkan data pada nilai session yang sedang aktif dengan nilai data yang terdapat pada database
Saya hanya bisa membaca tapi tidak bisa menerapkannya .Sehingga sedikit mengalami kesulitan dalam memahaminya.
ReplyDeleteuntuk aplikasi ppdb, kira2 ada di file mana yaa?
ReplyDeletejika kamu mau gampangnya, kamu bisa donasi aja seikhlasnya, nanti aku bantu sampe selesai semua instalasinya dan siap digunakan
Deletekalau aplikasi PPDB yang ada saat ini belum menerapkan sistem multi user/member, jadi tidak ada session atau login yang perlu dibuat...
DeleteHapus komen saya yg ada no hp nya jgn dipublish yah...plisss
Deleteseingatku pakai Session deh... eh iya memang session, tuh ada dijelaskan pakai session ID ...
ReplyDeleteWaduh, kalau soal yang begini saya coba nyimak aja dulu mass :D
ReplyDelete