> For the complete documentation index, see [llms.txt](https://learn.devlabss.my.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.devlabss.my.id/php/bab-9-session-and-autentikasi/praktik-mengamankan-crud-data-siswa.md).

# Praktik: Mengamankan CRUD Data Siswa

Praktik ini menggabungkan session, login, logout, dan pembatasan akses.

Tujuannya adalah membuat aplikasi CRUD lebih aman untuk digunakan.

### Target praktik

Setelah praktik ini selesai, Anda seharusnya bisa:

* menambahkan login ke aplikasi CRUD
* menjaga status pengguna dengan session
* membatasi halaman data agar tidak terbuka bebas

### Studi kasus

Anda sudah punya aplikasi CRUD data siswa.

Sekarang aplikasi itu perlu diamankan agar:

* hanya pengguna yang login yang bisa masuk
* halaman data tidak bisa dibuka sembarang orang
* pengguna bisa keluar lagi dengan logout

### Alur kerja yang disarankan

Urutan pengerjaan yang disarankan:

1. buat halaman login sederhana
2. simpan status login ke session
3. cek session pada halaman data siswa
4. buat fitur logout
5. uji apakah halaman benar-benar terlindungi

### Logika yang perlu dipahami

Pada latihan ini, Anda menggabungkan:

* session dari Bab 9.1
* login dan logout dari Bab 9.2
* pembatasan akses dari Bab 9.3
* aplikasi CRUD dari Bab 8

### Hasil yang diharapkan

Jika latihan berhasil:

* pengguna harus login dulu sebelum masuk
* halaman data siswa hanya terbuka setelah login
* logout akan mengakhiri akses pengguna

### Tantangan tambahan

Coba kembangkan program ini dengan:

* menampilkan nama pengguna setelah login
* memberi pesan saat login gagal
* mencegah pengguna kembali ke halaman admin setelah logout

### Poin evaluasi praktik Bab 9.

Pastikan Anda sudah memahami poin berikut:

* Saya berhasil menambahkan login ke aplikasi CRUD.
* Saya bisa membatasi halaman penting dengan session.
* Saya paham hubungan antara autentikasi dan hak akses.
* Saya mulai memahami dasar keamanan aplikasi web sederhana.

Jika semua sudah jelas, lanjut ke [9.5 Checkpoint: Uji Pemahamanmu Sebelum Lanjut!](/php/bab-9-session-and-autentikasi/9.5-checkpoint-uji-pemahamanmu-sebelum-lanjut.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.devlabss.my.id/php/bab-9-session-and-autentikasi/praktik-mengamankan-crud-data-siswa.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
