SlideShare a Scribd company logo
1 of 9
Download to read offline
[PHP TUTORIAL]

Class Activity

Penggunaan Session untuk Autentifikasi User

Autentifikasi user adalah suatu mekanisme untuk memastikan apakah suatu
user itu berhak masuk ke dalam sistem atau bukan. Dalam sebuah web
aplikasi Autentifikasi user ini sangat penting untuk member batasan
terhadap user dalam mengakses halaman/menu tertentu. Implementasinya
adalah berupa login. Dalam hal ini user yang berhak mengakses akan
diberikan nama user tertentu beserta password. Nama user dan password
akan disimpan dalam database. Bila terdapat nama user dan password yang
tidak terdaftar dalam database, maka user tersebut tidak berhak mengakses.
Mekanisme autentifikasi ini dimulai dengan proses pendaftaran user.
Pendaftaran User
1. User mengisi form pendaftaran sebagai legal user (user mengisi
username dan password)
2. Sistem akan mengecek apakah username yang didaftarkan sudah ada
yang memiliki atau belum
3. Jika sudah ada, user diminta mengisi kembali username yang lain
beserta passwordnya. Sedangkan jika belum ada, data user ini akan
disimpan dalam database, dengan password terenkripsi.
Proses Autentifikasi
1. User yang akan mengakses sistem diminta memasukkan username
dan password (asli)
2. Sistem akan mencari password terenkripsi yang tersimpan dalam
database berdasarkan username yang terdaftar
3. Sistem akan mencocokkan antara password asli terenkripsi yang
diisikan user melalui form login, dengan password terenkripsi yang
tersimpan dalam database
4. Jika password asli terenkripsi yang dikirim via form login ini sama
dengan password terenkripsi yang ada dalam database, maka user tadi
bisa masuk ke dalam sistem. Jika tidak sama, maka user tadi tidak
berhak masuk ke sistem.
Proses auntentifikasi user ini juga berfungsi untuk mengantsipasi terjadinya
by pass dari user yang tidak berhak.

Ver 1.0 [by-dfr]

Page 1
[PHP TUTORIAL]

Class Activity

Dalam latihan ini juga kita gunakan proses pengamanan password dengan
metode enskripsi MD5 dengan dikombinsi dengan pengacak. Mengapa kita
tambahkan pengacak???. Dengan hanya menggunakan enskripsi MD5 saja
kurang aman, sehingga perlu ditambahkan pengacak untuk memperoleh
kombinasi pengacak yang berbeda dengan MD5.
Pertama, buat database db_latihan (kalau sudah ada tidak perlu dibuat lagi)
Kemudian kita siapkan tabel tb_user terlebih dahulu.
CREATE TABLE tb_user (
username varchar(20),
password varchar(32),
PRIMARY KEY (username)
)

Field username kita gunakan primary ke, karena username harus unik, tidak
boleh ada username yang sama. Sedangkan password kita set tipe datanya
varchar dengan panjang field minimal 32, karena password yang akan
disimpan di sini adalah terenkripsi. Untuk enkripsi kita akan gunakan MD5()
termodifikasi dengan menambahkan pengacak. hasil md5() ini adalah
karakter dengan panjang 32.
Langkah kedua kita siapkan form pendaftaran usernya.

Ver 1.0 [by-dfr]

Page 2
[PHP TUTORIAL]

Class Activity

register.php

<form method="post" action="submit_register.php">
Pada form di atas terdapat dua isian untuk password. Isian password
dilakukan dua kali untuk memastikan bahwa password yang dimasukkan
adalah benar dari sisi ejaannya.
Selanjutnya kita buat script untuk pemrosesan registrasi user ini.

Ver 1.0 [by-dfr]

Page 3
[PHP TUTORIAL]

Class Activity

submit_register.php

Anda boleh membuat pengacak yang lain, atau mengkombinasikan sendiri
bentuknya, misalnya
$password1=md5($pengacak.md5($pengacak.$password1.$pengacak).$pengacak)

yang jelas jangan menggunakan $password1 = md5($password1);
Buat skenario bahwa terdapat dua buah halaman (halaman 1 dan halaman
2) dalam sistem yang membutuhkan autentifikasi user sebelum masuk ke
dalamnya.
untuk autentifikasi, kita buat form loginnya.

Ver 1.0 [by-dfr]

Page 4
[PHP TUTORIAL]
login.php

<form method="post" action="login_submit.php">

Ver 1.0 [by-dfr]

Page 5

Class Activity
[PHP TUTORIAL]

Class Activity

loginsubmit.php

dalam cek kesesuaian password terenkripsi dari form dan dari database,
harus menggunakan pengacak dan rule yang sama dengan proses
mengenkripsi password sebelum disimpan ke database (lihat kembali script
submit_register.php).
Selanjutnya, untuk mencegah by pass yang dilakukan user nakal ke dalam
halaman 1 dan 2, maka kita perlu membuat script untuk menanggulangi hal
ini.

Ver 1.0 [by-dfr]

Page 6
[PHP TUTORIAL]

Class Activity

cek.php

Script di atas berguna untuk mengecek keberadaan session untuk username.
Bila user tidak melakukan login, maka session username tidak pernah dibuat.
Sehingga apabila user tidak melakukan login, akan muncul pesan ‘Anda
belum login’. Perintah isset() digunakan untuk mengecek keberadaan suatu
variabel (dalam hal ini variabel session untuk username). Perintah ini akan
menghasilkan nilai TRUE jika variabel yang dicek ada, dan FALSE jika variabel
tidak ada.
Script cek.php di atas harus disisipkan di setiap halaman yang sifatnya
private atau membutuhkan autentifikasi user.
Misalkan isi halaman 1 dan 2 adalah sebagai berikut
hal1.php

Ver 1.0 [by-dfr]

Page 7
[PHP TUTORIAL]

Class Activity

hal2.php

Di setiap halaman private disisipkan script cek.php. Apakah harus diletakkan
sebelum isi dari halaman? Ya… harus… sebelum menampilkan isi halaman,
terlebih dahulu harus di cek apakah user yang akan mengakses sudah login
atau belum. Jika belum… langsung muncul pesan belum login dan exit
artinya isi halaman tidak ditampilkan di browser.
Jangan lupa membuat script untuk logout. Konsep logout dalam autentifikasi
adalah menghapus variabel session untuk username tadi.
logout.php

Ver 1.0 [by-dfr]

Page 8
[PHP TUTORIAL]

Class Activity

CATATAN :
Enskripsi adalah proses mengamankan suatu informasi dengan membuat
informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus
Deskripsi adalah upaya pengolahan data menjadi sesuatu yang dapat
diutarakan secara jelas dan tepat dengan tujuan agar dapat dimengerti oleh
orang yang tidak langsung mengalaminya sendiri.
MD5 (Message-Digest algorithm 5) adalah fungsi Hash kriptografik yang
digunakan secara luas dengan Hash value 128-bit
Jadi tujuan umum dari enskripsi password adalah
meningkatkan keamanan agar password lebih sulit dibobol
Tool Web untuk encrypt dan decrypt pasword
www.md5decrypt.org
www.md5decryption.com
www.md5encryption.com

Ver 1.0 [by-dfr]

Page 9

untuk

More Related Content

Viewers also liked

TryNordestin'_enter2015
TryNordestin'_enter2015TryNordestin'_enter2015
TryNordestin'_enter2015
Vitor Pereira
 

Viewers also liked (9)

Twitterを始めよう
Twitterを始めようTwitterを始めよう
Twitterを始めよう
 
SMART TERRITORIES: Protect the big Cities, save the small Cities #s3cparis #s...
SMART TERRITORIES: Protect the big Cities, save the small Cities #s3cparis #s...SMART TERRITORIES: Protect the big Cities, save the small Cities #s3cparis #s...
SMART TERRITORIES: Protect the big Cities, save the small Cities #s3cparis #s...
 
Earma Annual Conference 23 june 2011 - Magali Poinot (parts 2&3)
Earma Annual Conference 23 june 2011 - Magali Poinot (parts 2&3)Earma Annual Conference 23 june 2011 - Magali Poinot (parts 2&3)
Earma Annual Conference 23 june 2011 - Magali Poinot (parts 2&3)
 
WordPressとヒートマップ:Ptengineプラグイン
WordPressとヒートマップ:PtengineプラグインWordPressとヒートマップ:Ptengineプラグイン
WordPressとヒートマップ:Ptengineプラグイン
 
03. upload file dengan php
03. upload file dengan php03. upload file dengan php
03. upload file dengan php
 
Try Nordestin' #ENTER2015
Try Nordestin' #ENTER2015Try Nordestin' #ENTER2015
Try Nordestin' #ENTER2015
 
Are timesheets money sheets by Frank Verleg
Are timesheets money sheets by Frank VerlegAre timesheets money sheets by Frank Verleg
Are timesheets money sheets by Frank Verleg
 
Are timesheets money sheets by Frank Verleg
Are timesheets money sheets by Frank VerlegAre timesheets money sheets by Frank Verleg
Are timesheets money sheets by Frank Verleg
 
TryNordestin'_enter2015
TryNordestin'_enter2015TryNordestin'_enter2015
TryNordestin'_enter2015
 

Similar to 05. session2 autentifikasi user

Modul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lxModul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lx
Mboard Philipe
 
Modul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lxModul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lx
Haswi Simeulue
 
Bruteforce basic (paper) - linx
Bruteforce basic (paper) - linxBruteforce basic (paper) - linx
Bruteforce basic (paper) - linx
idsecconf
 
Laporan pemrograman berbasis web
Laporan pemrograman berbasis webLaporan pemrograman berbasis web
Laporan pemrograman berbasis web
Rifky Ardian
 
Modul my sql tutorial part 6
Modul my sql tutorial part 6Modul my sql tutorial part 6
Modul my sql tutorial part 6
Ratzman III
 
Laporan tutorial form login php menggunakan mvc
Laporan tutorial form login php menggunakan mvcLaporan tutorial form login php menggunakan mvc
Laporan tutorial form login php menggunakan mvc
Sam_Azzam
 
Tugas session (hanni si6 b-40)
Tugas session (hanni si6 b-40)Tugas session (hanni si6 b-40)
Tugas session (hanni si6 b-40)
hendrawansyah
 
11 aplikasi teknologi online - session dan aplikasinya
11   aplikasi teknologi online - session dan aplikasinya11   aplikasi teknologi online - session dan aplikasinya
11 aplikasi teknologi online - session dan aplikasinya
Materi Kuliah Online
 
Budi aplikasi-crud-sederhana-dengan-php-dan-my sql-libre
Budi aplikasi-crud-sederhana-dengan-php-dan-my sql-libreBudi aplikasi-crud-sederhana-dengan-php-dan-my sql-libre
Budi aplikasi-crud-sederhana-dengan-php-dan-my sql-libre
Uniska Lam
 

Similar to 05. session2 autentifikasi user (20)

Affif cara membuat form login pada php
Affif cara membuat form login pada phpAffif cara membuat form login pada php
Affif cara membuat form login pada php
 
Membuat Catatan Online dengan Cherrypy
Membuat Catatan Online dengan CherrypyMembuat Catatan Online dengan Cherrypy
Membuat Catatan Online dengan Cherrypy
 
Presentation web session
Presentation  web sessionPresentation  web session
Presentation web session
 
Modul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lxModul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lx
 
Modul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lxModul pembuatan aplikasi login dengan php dan my sq lx
Modul pembuatan aplikasi login dengan php dan my sq lx
 
Bruteforce basic (paper) - linx
Bruteforce basic (paper) - linxBruteforce basic (paper) - linx
Bruteforce basic (paper) - linx
 
Laporan pemrograman berbasis web
Laporan pemrograman berbasis webLaporan pemrograman berbasis web
Laporan pemrograman berbasis web
 
Belajar php 2015
Belajar php 2015Belajar php 2015
Belajar php 2015
 
Entri, Edit, Delete, Tampil (CRUD) dengan PHP dan Ajax JQuery
Entri, Edit, Delete, Tampil (CRUD) dengan PHP dan Ajax JQueryEntri, Edit, Delete, Tampil (CRUD) dengan PHP dan Ajax JQuery
Entri, Edit, Delete, Tampil (CRUD) dengan PHP dan Ajax JQuery
 
Membuat form login dengan php mysql
Membuat form login dengan php mysqlMembuat form login dengan php mysql
Membuat form login dengan php mysql
 
Bongkar rahasia php
Bongkar rahasia phpBongkar rahasia php
Bongkar rahasia php
 
Php Mysql
Php MysqlPhp Mysql
Php Mysql
 
Modul my sql tutorial part 6
Modul my sql tutorial part 6Modul my sql tutorial part 6
Modul my sql tutorial part 6
 
Laporan tutorial form login php menggunakan mvc
Laporan tutorial form login php menggunakan mvcLaporan tutorial form login php menggunakan mvc
Laporan tutorial form login php menggunakan mvc
 
Tugas session (hanni si6 b-40)
Tugas session (hanni si6 b-40)Tugas session (hanni si6 b-40)
Tugas session (hanni si6 b-40)
 
Web dinamis
Web dinamisWeb dinamis
Web dinamis
 
11 aplikasi teknologi online - session dan aplikasinya
11   aplikasi teknologi online - session dan aplikasinya11   aplikasi teknologi online - session dan aplikasinya
11 aplikasi teknologi online - session dan aplikasinya
 
Belajar pemrograman berbasis web php dhtmlx part 8 Transaction
Belajar pemrograman berbasis web php dhtmlx part 8  TransactionBelajar pemrograman berbasis web php dhtmlx part 8  Transaction
Belajar pemrograman berbasis web php dhtmlx part 8 Transaction
 
Budi aplikasi-crud-sederhana-dengan-php-dan-my sql-libre
Budi aplikasi-crud-sederhana-dengan-php-dan-my sql-libreBudi aplikasi-crud-sederhana-dengan-php-dan-my sql-libre
Budi aplikasi-crud-sederhana-dengan-php-dan-my sql-libre
 
test saja kok
test saja koktest saja kok
test saja kok
 

Recently uploaded

Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
ssuser35630b
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
JarzaniIsmail
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
dpp11tya
 

Recently uploaded (20)

PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
 
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfModul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - Perencanaan
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptxRegresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 

05. session2 autentifikasi user

  • 1. [PHP TUTORIAL] Class Activity Penggunaan Session untuk Autentifikasi User Autentifikasi user adalah suatu mekanisme untuk memastikan apakah suatu user itu berhak masuk ke dalam sistem atau bukan. Dalam sebuah web aplikasi Autentifikasi user ini sangat penting untuk member batasan terhadap user dalam mengakses halaman/menu tertentu. Implementasinya adalah berupa login. Dalam hal ini user yang berhak mengakses akan diberikan nama user tertentu beserta password. Nama user dan password akan disimpan dalam database. Bila terdapat nama user dan password yang tidak terdaftar dalam database, maka user tersebut tidak berhak mengakses. Mekanisme autentifikasi ini dimulai dengan proses pendaftaran user. Pendaftaran User 1. User mengisi form pendaftaran sebagai legal user (user mengisi username dan password) 2. Sistem akan mengecek apakah username yang didaftarkan sudah ada yang memiliki atau belum 3. Jika sudah ada, user diminta mengisi kembali username yang lain beserta passwordnya. Sedangkan jika belum ada, data user ini akan disimpan dalam database, dengan password terenkripsi. Proses Autentifikasi 1. User yang akan mengakses sistem diminta memasukkan username dan password (asli) 2. Sistem akan mencari password terenkripsi yang tersimpan dalam database berdasarkan username yang terdaftar 3. Sistem akan mencocokkan antara password asli terenkripsi yang diisikan user melalui form login, dengan password terenkripsi yang tersimpan dalam database 4. Jika password asli terenkripsi yang dikirim via form login ini sama dengan password terenkripsi yang ada dalam database, maka user tadi bisa masuk ke dalam sistem. Jika tidak sama, maka user tadi tidak berhak masuk ke sistem. Proses auntentifikasi user ini juga berfungsi untuk mengantsipasi terjadinya by pass dari user yang tidak berhak. Ver 1.0 [by-dfr] Page 1
  • 2. [PHP TUTORIAL] Class Activity Dalam latihan ini juga kita gunakan proses pengamanan password dengan metode enskripsi MD5 dengan dikombinsi dengan pengacak. Mengapa kita tambahkan pengacak???. Dengan hanya menggunakan enskripsi MD5 saja kurang aman, sehingga perlu ditambahkan pengacak untuk memperoleh kombinasi pengacak yang berbeda dengan MD5. Pertama, buat database db_latihan (kalau sudah ada tidak perlu dibuat lagi) Kemudian kita siapkan tabel tb_user terlebih dahulu. CREATE TABLE tb_user ( username varchar(20), password varchar(32), PRIMARY KEY (username) ) Field username kita gunakan primary ke, karena username harus unik, tidak boleh ada username yang sama. Sedangkan password kita set tipe datanya varchar dengan panjang field minimal 32, karena password yang akan disimpan di sini adalah terenkripsi. Untuk enkripsi kita akan gunakan MD5() termodifikasi dengan menambahkan pengacak. hasil md5() ini adalah karakter dengan panjang 32. Langkah kedua kita siapkan form pendaftaran usernya. Ver 1.0 [by-dfr] Page 2
  • 3. [PHP TUTORIAL] Class Activity register.php <form method="post" action="submit_register.php"> Pada form di atas terdapat dua isian untuk password. Isian password dilakukan dua kali untuk memastikan bahwa password yang dimasukkan adalah benar dari sisi ejaannya. Selanjutnya kita buat script untuk pemrosesan registrasi user ini. Ver 1.0 [by-dfr] Page 3
  • 4. [PHP TUTORIAL] Class Activity submit_register.php Anda boleh membuat pengacak yang lain, atau mengkombinasikan sendiri bentuknya, misalnya $password1=md5($pengacak.md5($pengacak.$password1.$pengacak).$pengacak) yang jelas jangan menggunakan $password1 = md5($password1); Buat skenario bahwa terdapat dua buah halaman (halaman 1 dan halaman 2) dalam sistem yang membutuhkan autentifikasi user sebelum masuk ke dalamnya. untuk autentifikasi, kita buat form loginnya. Ver 1.0 [by-dfr] Page 4
  • 5. [PHP TUTORIAL] login.php <form method="post" action="login_submit.php"> Ver 1.0 [by-dfr] Page 5 Class Activity
  • 6. [PHP TUTORIAL] Class Activity loginsubmit.php dalam cek kesesuaian password terenkripsi dari form dan dari database, harus menggunakan pengacak dan rule yang sama dengan proses mengenkripsi password sebelum disimpan ke database (lihat kembali script submit_register.php). Selanjutnya, untuk mencegah by pass yang dilakukan user nakal ke dalam halaman 1 dan 2, maka kita perlu membuat script untuk menanggulangi hal ini. Ver 1.0 [by-dfr] Page 6
  • 7. [PHP TUTORIAL] Class Activity cek.php Script di atas berguna untuk mengecek keberadaan session untuk username. Bila user tidak melakukan login, maka session username tidak pernah dibuat. Sehingga apabila user tidak melakukan login, akan muncul pesan ‘Anda belum login’. Perintah isset() digunakan untuk mengecek keberadaan suatu variabel (dalam hal ini variabel session untuk username). Perintah ini akan menghasilkan nilai TRUE jika variabel yang dicek ada, dan FALSE jika variabel tidak ada. Script cek.php di atas harus disisipkan di setiap halaman yang sifatnya private atau membutuhkan autentifikasi user. Misalkan isi halaman 1 dan 2 adalah sebagai berikut hal1.php Ver 1.0 [by-dfr] Page 7
  • 8. [PHP TUTORIAL] Class Activity hal2.php Di setiap halaman private disisipkan script cek.php. Apakah harus diletakkan sebelum isi dari halaman? Ya… harus… sebelum menampilkan isi halaman, terlebih dahulu harus di cek apakah user yang akan mengakses sudah login atau belum. Jika belum… langsung muncul pesan belum login dan exit artinya isi halaman tidak ditampilkan di browser. Jangan lupa membuat script untuk logout. Konsep logout dalam autentifikasi adalah menghapus variabel session untuk username tadi. logout.php Ver 1.0 [by-dfr] Page 8
  • 9. [PHP TUTORIAL] Class Activity CATATAN : Enskripsi adalah proses mengamankan suatu informasi dengan membuat informasi tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus Deskripsi adalah upaya pengolahan data menjadi sesuatu yang dapat diutarakan secara jelas dan tepat dengan tujuan agar dapat dimengerti oleh orang yang tidak langsung mengalaminya sendiri. MD5 (Message-Digest algorithm 5) adalah fungsi Hash kriptografik yang digunakan secara luas dengan Hash value 128-bit Jadi tujuan umum dari enskripsi password adalah meningkatkan keamanan agar password lebih sulit dibobol Tool Web untuk encrypt dan decrypt pasword www.md5decrypt.org www.md5decryption.com www.md5encryption.com Ver 1.0 [by-dfr] Page 9 untuk