pemrograman web week 6 · •untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat...
TRANSCRIPT
![Page 1: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/1.jpg)
Pemrograman WebWeek 6
![Page 2: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/2.jpg)
Materi (http://tinyurl.com/gl4srym)
• Session & Cookies
• Web Sekuriti• Otentifikasi (login)
• Enkripsi
• Hashing
• Database• Tambah Data
• Lihat Data
• Hapus Data
• Edit Data
![Page 3: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/3.jpg)
Session dan Cookies
![Page 4: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/4.jpg)
Cookies
![Page 5: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/5.jpg)
• Pernahkah, setelah melihat-lihat suatu produk (mis. tiket)• Saat pindah ke halaman lain, muncul iklan-iklan yang mirip dengan produk yang kita lihat
sebelumnya (Mis. tiket)
• Mis. Setelah lihat-lihat tiket bandung-jambi• Saat browsing website lain, muncul iklan bandung-jambi
![Page 6: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/6.jpg)
Cookies• Hal ini karena website tertentu
sebenarnya menyimpan perilakubrowsing kita• Perilaku seperti membrowsing suatu
halaman, • Iklan yang diklik,• Keyword yang dicari,• Data yang diisi di form, • dll
• Data ini disimpan pada cookies• Lihat cookies pada browsing masing-
masing, Googling:• how to view cookies namabrowsernya• Mis. How to view cookies chrome
![Page 7: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/7.jpg)
Contoh, dari aktifitas memesan tiket padatraveloka.com• Traveloka masih
menyimpan data aktifitas• SourceAirport: BDO
(Bandung)
• DestinationAirport: DJB (Jambi)
![Page 8: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/8.jpg)
Informasi Cookies• Beberapa informasi
penting suatu cookies
• Nama Websites
• Nama variable• Mis, sourceAirport
• Nilai Variabel• Mis, BDO
• Waktu Expired• Suatu cookies akan
terhapus (otomatis) saatmencapai waktuexpirenya
![Page 9: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/9.jpg)
• Pada folder week_5/kukis terdapatsuatu website dengan disain navigasiseperti berikut
• Saat membuat suat website, salahsatu yang harus dibuat adalah disainnavigasi• Dari suatu halaman bisa menuju
(terdapat link) ke halaman mana• Disain ini akan menjadi lebih penting lagi
saat mulai ada requirement tentangtingkatan pengguna: guest, user, admin, dll.• Mis. Guest hanya bisa ke bukutamu, admin
bisa semua halaman, dll.
Index.php
Aboutme.php Bukutamu.php
![Page 10: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/10.jpg)
Index.php & index.html
• file yang bernama index.php & index.html adalah nama file yang khusus• Adalah halaman default
• Apabila URL yang diketikkan di browser tidak menuliskan namafile, • Server akan otomatis menganggap
bahwa halaman yang diinginkanadalah index.php atau index.html Index.php: URL dapat ditulis tanpa namafile
File-file lain: URL harus ditulis lengkap
![Page 11: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/11.jpg)
setcookie()
• Untuk membuat variable cookie
setcookie(“namaVariabel”, “nilaiVariabel”, waktuExpired);
Misalnya untuk membuat variable namaLengkap yang waktuexpirednya 30 detik dari sekarang (pada gambar)
• Fungsi setcookie(), harus diletakkansebelum perintah<html>
![Page 12: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/12.jpg)
$_COOKIE[ ]
• Untuk menangkap variable cookie yang telah dibuat
$_COOKIE[“namaVariabel”]
• Pada aboutme.php danbukutamu.php tambahkan
![Page 13: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/13.jpg)
Yang Terjadi
• Nilai “Adi bin Budi” disimpanpada variable cookie bernama“namaLengkap”
• Setcookie() • Cookie digunakan• $_COOKIE[]
![Page 14: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/14.jpg)
Cookies akan expired
• Saat pertama masuk,• Index.php =>
Aboutme.php/Bukutamu.php
• Cookies ada
• Setelah cookies expired.
![Page 15: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/15.jpg)
Cookies tetap tersimpan walaupun jendeladitutup• Atur expired menjadi lebih lama…
• Masuk localhost/week_5/kukis/index.php• Index.php kan halaman yang membuat cookie• Kemudian click link ke About Me• Cookie sudah tercipta• Sekarang, Tutup jendela browser
• Buka Kembali browser• Ketik URL localhost/week_5/kukis/aboutme.php
• Cookies masih ada• Tulisan Adi bin Budi tetap ada, • walau tidak melalui index.php
![Page 16: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/16.jpg)
Cookies• Untuk menambah
variable-variable cookies baru tinggal• memanggil setcookie()
• Untukmembaca/menangkapvariable cookie tinggal• Memakai $_COOKIE[]
![Page 17: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/17.jpg)
![Page 18: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/18.jpg)
• Dapat di cek pada browser masing-masing, untuk websites localhostsudah ada informasi cookies yang dibuat
![Page 19: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/19.jpg)
Cookie dan form/link
• Sejauh ini pembuatancookienya masih secarahardcoded (langsungmengetik pada source code)
• Nilai Cookie juga bisa jugadari suatu form/link
![Page 20: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/20.jpg)
Cookie dan form/link
• Tinggal digabungkan
• Bagaimana cara membuat cookie?
Setcookie(“nama”, ”nilai”, expired);
• Bagaimana cara menangkap nilai dari form ?
$_POST[“namaVar”] atau $_GET[“namaVar”]
• Berarti membuat cookie yang berasal dari nilai form
Setcookie(“nama”, $_POST[“namaVar”], expired);
Atau
Setcookie(“nama”, $_GET[“namaVar”], expired);
![Page 21: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/21.jpg)
• Buka file Login.php
• Pada file sudah terdapat form yang masih belum jalan, atur agar• Tujuan pengiriman data adalah
index.php
• Metode pengiriman adalah post
Index.php
Aboutme.php Bukutamu.php
Login.php
![Page 22: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/22.jpg)
<Input type=“color”>
• Input type=“color” adalah inputan untukmemilih warna
• Akan mengirimkan warna dengan nilai#rrggbb• Mis. Merah #FF0000, hijau #00FF00
• Seperti input lainnya, value=“” akanmenentukan nilai defaultnya• Mis. Value=“00FF00” berarti nilai defaultnya
hijau
![Page 23: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/23.jpg)
• Tangkap nilai dari form kemudian simpan pada variable cookie
• Mulai browsing dari
localhost/week_5/kukis/Login.php
![Page 24: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/24.jpg)
Yang Terjadi
• Form diisi
• Submit ditekan
• Data dikirimke tujuan
• Nilai form ditangkapkemudian disimpanpada cookie
• Cookie digunakan• $_COOKIE[]
![Page 25: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/25.jpg)
Review, cara membuat cookies
1. Hardcoded (Langsung diisi pada coding)
Setcookie(“namaVariabel”, ”nilai”, expired);
2. Membuat cookie berdasarkan data dari form
Setcookie(“namaVariabel”, $_POST[“namaVar”], expired);
Atau
Setcookie(“namaVariabel”, $_GET[“namaVar”], expired);
![Page 26: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/26.jpg)
Review, cara mengakses cookies
1. Hanya satu cara yaitu
$_COOKIE[“namaVariabel”]
![Page 27: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/27.jpg)
Latihan
• Nama Author adalah dari cookie yang dibuatsecara hardcoded
• Email adalah cookie berdasarkan inputan form
![Page 28: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/28.jpg)
Session
![Page 29: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/29.jpg)
Session
• Kalau Cookies digunakan untuk menyimpan data pada client (di browser)
• Session digunakan untuk menyimpan data pada server• Hal ini membuat session lebih aman
![Page 30: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/30.jpg)
• Setiap halaman yang akan menggunakan session (membuat variable atau membaca variable)• Harus memanggil fungsi session_start() pada bagian awal halaman
• Tambahkan session_start() pada semua halaman
![Page 31: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/31.jpg)
Session Membuat variabel
1. Membuat variable session hardcoded (Langsung diisi pada coding)
$_SESSION[“namaVariabel”] = ”nilai” ; • Mis. Membuat variable bernama userName, dan diisi string “Adi”
2. Membuat variable session berdasarkan data dari form
$_SESSION[“namaVariabel”] = $_POST[“namaVar”] ;
Atau
$_SESSION[“namaVariabel”] = $_GET[“namaVar”];
![Page 32: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/32.jpg)
Session membaca variabel
1. Hanya ada satu cara membaca
$_SESSION[“namaVariabel”]
Mis. Untuk menampilkan variable session bernama userName
![Page 33: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/33.jpg)
• Pada index.php buatlah sebuah variable secara hardcoded,
![Page 34: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/34.jpg)
Gunakan variable session pada halaman-halaman• Edit pada aboutme.php dan bukutamu.php
• Browse website mulai dari file Login.php
![Page 35: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/35.jpg)
Yang Terjadi
• Variabel session dibuat
• $_SESSION[ ] = nilai
• Session digunakan• $_SESSION[]
![Page 36: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/36.jpg)
• Tambahkan Input baru pada form di Login.php
![Page 37: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/37.jpg)
• Untuk menangkap variable dari form dan menyimpannya padavariable Session
• Tambahkan pada file index.php
![Page 38: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/38.jpg)
• Variabel session username dan password sudah tercipta• Boleh saja ditampilkan echo $_SESSION[“username”]
• Tetapi kita akan coba gunakan variable ini untuk kebutuhan lain
• Untuk memaksa agar semua user harus login
• Dapat digunakan pemeriksaan terhadap isi variable $_SESSION• Pakai isset() yang sudah dipelajari
![Page 39: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/39.jpg)
Penggunaan Variabel Session
• Tambahkan pada aboutme.php dan bukutamu.php
• Sekarang tanpa login, langsung ketikkan pada browser• Localhost/week_5/kukis/aboutme.php
• Localhost/week_5/kukis/bukutamu.php
• Halaman akan otomatis redirect (belok) ke Login.php
![Page 40: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/40.jpg)
Fungsi header
• Fungsi header() mengirimkan header HTTP ke client/browser
• Header(“location:URL”); • Adalah untuk mengganti lokasi halaman menjadi ke UR
• Perintah ini berarti, kalauvariable session “userName“ belumdibuat• Maka pindah lokasi ke
Login.php
![Page 41: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/41.jpg)
Yang TerjadiFile Aboutme.php
File BukuTamu.php
• Kalau user coba langsung ke halamanAboutme atau bukutamu• Tanpa melalui Login• Maka $_SESSION[“userName”] akan
kosong• Sehingga header pindah ke Login.php
![Page 42: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/42.jpg)
Gunakan untuk halaman
• Selanjutnya semua, file/halaman yang harus melalui login, • Dapat dilindungi dengan menambahkan pemeriksaan terhadap variable
$_SESSION seperti ini
![Page 43: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/43.jpg)
• Bagaimana dengan file index.php ?• File ini belum terproteksi
• Pengecekan pada file tidak dapat dengan
$_SESSION[“userName”] karena justru pada file inilah variable $_SESSION[“userName”] dibuat
• Sementara dapat dengan mengecek apakah ada variable $_POST[“usr”]• Kalau ada berarti user login lewat form Login.php• Kalau tidak (false) berarti user belum login
• Header pindah ke Login.php
• Coba buka kembalibrowser
Localhost/week_5/kukis/
![Page 44: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/44.jpg)
Yang Terjadi Kalauuser tidak login File Aboutme.php
File BukuTamu.php
File Index.php
• Halaman tidak akanditampilkan, • Langsung dibelokkan ke
Login.php
![Page 45: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/45.jpg)
Yang Terjadi kalau user melaluiHalaman Login.php
• Halaman dapat diakseshanya kalau user melaluiproses login
![Page 46: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/46.jpg)
• Semua variable cookies kelihatan
• Semua variable session tidak ada• PHPSESSID hanyalah menyimpan nomor session• Tidak ada variable session userName, passWord, versiWebsite
![Page 47: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/47.jpg)
Enkripsi Data Pada PHP
![Page 48: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/48.jpg)
Enkripsi
• Beberapa data sensitif (kartukredit, username, password, namalengkap, alamat, nomortelepan, dll) tidak boleh dikirim secarasembarangan, tanpa diamankan
• Untuk mengamankan data agar tidak terbaca oleh orang lain, data dapat dienkripsi.
• Beberapa library enkripsi PHP yang sudah secure
• Jangan menggunakan library enkripsi yang belum teruji• Atau lebih parah, membuat sendiri enkripsi secara manual
![Page 49: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/49.jpg)
• Contoh Data
• Data disimpan dalamcookies • Agar data tetap ada saat
browser ditutup
• Contoh mengakses data cookies
• Link ke halaman lainBuka index.php
![Page 50: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/50.jpg)
• Data telah tersimpanpada cookies
• Sehingga saat pindahhalaman lain, data tetap tersedia.
Buka halamanLain.php
![Page 51: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/51.jpg)
• Data yang tersimpanpada cookies, denganmudah dibaca olehorang• Tidak tersembunyi.
Contoh Cookie Pada Browser Chrome
![Page 52: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/52.jpg)
Instalasi library enkripsi defuse
• Salah satu library enkripsi pada PHP adalah defuse https://github.com/defuse/php-encryption
• Untuk Instalasi masuk ke link
https://github.com/defuse/php-encryption/releases• Download file library defuse-crypte.phar
• Simpan pada lokasi folder aplikasi
![Page 53: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/53.jpg)
Review SisTer Enkripsi & Dekripsi
• Enkripsi mengubah PlainTeks menjadi CipherTeks (pakai kunci)
• Dekripsi mengubah CipherTeks menjadi PlainTeks (pakai kunci)
Enkripsi
Dekripsi
PlainTeks
KeyCiherTeks
![Page 54: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/54.jpg)
• require_once() untuk menyisipkan kode dari file/library lain
• use Defuse\Cripto\Crypto agar memudahkan dalam memanggil Kelas Crypto
• Untuk enkripsi, diperlukan key yang akan digunakan.
Edit index.php
![Page 55: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/55.jpg)
• Data cookies menjaditerenkripsi
![Page 56: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/56.jpg)
• Untuk melakukan dekripsi data, • Dari cipherText ke plainText
• Crypto::decryptWithPassword(“ciphertext”, “key”);
Edit index.php
![Page 57: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/57.jpg)
• Pada halamanLain.php juga harusmelakukan dekripsi untuk melihatdata,• Tapi masalah muncul, di halamanLain.php
kan tidak tahu key yang dipakai?
Edit HalamanLain.php
Error variable kunci belum terdefinisi
![Page 58: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/58.jpg)
• Key tidak dapat ikut disimpan pada cookies
• Key dapat disimpan pada session
• Karena akan menggunakan session, tambahkan session_start() padasetiap halaman (index.php dan halamanLain.php)
Edit HalamanLain.phpEdit index.php
![Page 59: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/59.jpg)
• Pdaa Index.php, key disimpan pada$_SESSION
• Sehingga pada halamanlain bisamenangkapnya
PlainTeks yang ditampilkan
Edit HalamanLain.php
Edit index.php
![Page 60: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/60.jpg)
• Sekarang data dapattersimpan dengan aman di cookies
• Data terenkripsi yang hanyabisa dibuka menggunakan key
• Key tidak disimpan di cookies tetapi di variable session• Karena di simpan di session,
maka tidak akan dapat dilihatpada browser
![Page 61: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/61.jpg)
Database
![Page 62: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/62.jpg)
Persiapan
• Jalankan Server MySQL• Tekan tombol start
• Mungkin muncul alert sekuritas,• Centang Public Access, klik Allow
Access• Ini akan membuat server MySQL
anda dapat diakses dari luar
• MySQL berwarna hijau saat sudahrunning
![Page 63: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/63.jpg)
• Untuk menguji database• Buka browser• Localhost/phpmyadmin/
• PhpMyAdmin adalah aplikasi yang digunakan untuk mempermudahadministrasi website• Membuat database, table,
mengisi/hapus/edit data menjadilebih mudah• Hanya dengan klik tombol• Tanpa perlu ketik perintah SQL
“Create Database …”
![Page 64: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/64.jpg)
1. Klik Icon• agar kembali ke halaman awal
2. Klik tab Impor
![Page 65: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/65.jpg)
• Pilih Choose File
• Browse ke file basisdatawebku.sql
• Klik tombol Kirim• Pada bagian paling bawah
halaman import
![Page 66: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/66.jpg)
• Pastikan import berhasil.
• Akan tercipta database webku
• Memiliki table (pengguna)
• Klik tab Struktur untukmelihat struktur tabel
![Page 67: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/67.jpg)
Membuat koneksi ke database
mysqli_connect( “namaserver”, “user”, “pass”, “namaDB”);• Akan mengembalikan true kalau berhasil, dan false kalau gagal
Edit registrasi.php
Browse registrasi.php
Error dapat terjadi
![Page 68: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/68.jpg)
Membuat koneksi ke database• $servername sesuaikan dengan nama server,
• mis. 5gbfree.com, konse.link, dll, karena masih di laptop maka localhost
• $Username dan $password sesuai dengan username database• Diberikan oleh server• Bukan username dan password Control Panel website
• $namaDB sesuaikan dengan nama database yang dibuat/create
registrasi.php
![Page 69: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/69.jpg)
mysql_query(koneksinya, “perintahSQL”);• Untuk mengeksekusi perintah SQL pada suatu koneksi
• Koneksinya: variable koneksi yang telah dibuat pakai mysql_connect()
• Fungsi akan mengembalikan false jika perintah gagal dieksekusi
Debugging error perintah SQL halaman sebelah => Edit registrasi.php
registrasi.php
![Page 70: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/70.jpg)
Debug Error pada perintah SQL
![Page 71: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/71.jpg)
Melihat data yang tersimpan
• Data tersimpan• Klik pada table => Browse/Jelajahi
![Page 72: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/72.jpg)
• Yang telah dibuat adalah menyimpandata dari source code ke database.
• Bagaimana menyimpan data dari form ke database?
Browse formRegistrasi.php
![Page 73: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/73.jpg)
• Edit FormRegistrasi.phpsehingga
1. Tujuan pengiriman data adalahregistrasi.php
2. Mengirim menggunakanmetode POST
formRegistrasi.php
![Page 74: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/74.jpg)
Edit registrasi.php
• Tangkap data dari form, dansimpan pada variable biasa• Agar memudahkan
• Ubah perintah SQL, pakaivariabel
Edit Registrasi.php
![Page 75: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/75.jpg)
Data dari form tersimpan pada database
![Page 76: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/76.jpg)
• Sejauh ini data-data telah tersimpantersimpan
• Password tidak bolehdisimpan secara plain
• Tetapi juga tidakboleh di enkripsi• Karena bahaya dapat
di dekripsi kembali
• Password biasanya di hash• Fungsi hash
membuat tidak dapatdikembalikan
![Page 77: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/77.jpg)
Enkripsi vs Hashing
• Fungsi enkripsi memang dibuat agar dapat menghasilkan kembali PlainTeksyang dihasilkan (Dekripsi)
• Dua arah, Enkripsi dan Dekripsi
Enkripsi
CiherTeks
PlainTeks
Key
Dekripsi
![Page 78: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/78.jpg)
Enkripsi vs Hashing
• Fungsi Hashing berlaku hanya satu arah• Fungsi-fungsi hashing memang sengaja didesain (matematis) agar tidak mungkin mendapatkan kembali plain
teks dari suatu hash
• Untuk mempersulit penemuan kembali PlainTeks, hash dilengkapi dengan salt
Hashing
Hashed Teks
PlainTeks
Salt
Reverse
![Page 79: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/79.jpg)
• Untuk melakukan hashing terhadap password dapat dengan fungsi
password_hash(“passwordnya”, opsi);
Opsi dapat bernilai:
PASSWORD_DEFAULT: menggunakan algoritma hashing yang paling baru.
PASSWORD_BCRYPT: menggunakan algoritma CRYPT_BLOWFISH.
Edit Registrasi.php
![Page 80: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/80.jpg)
• Sekarang password akan tersimpan dalam bentuk HashTeks
• Hal ini membuat penyerang yang berhasil mendapatkan data ini tidakakan dapat menemukan plainTeksnya.
• Satu-satunya yang mengetahui data ini hanyalah user• Bahkan admin database tidak akan tahu apa nilainya
![Page 81: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/81.jpg)
Latihan di Rumah (Non-tugas)
• Lanjutkan agar menyimpan data berikut dapat diisipada form dandisimpan padadatabase• Email
• Alamat
![Page 82: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/82.jpg)
Library
![Page 83: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/83.jpg)
DRY = Don’t Repeat Yourself!!
• Dalam membuat aplikasi, akan banyak sekali fitur-fitur yang sebenarnya mirip/sama.• Padahal untuk masing-masing fitur membutuhkan banyak baris code
• Untuk memudahkan pembuatan aplikasi• Buat library sendiri
• Web Framework (materi kedepan) sebenarnya adalah suatukumpulan library-library (dan pengaturan)• Hasil pengalaman membangun website• Dibuat agar mengembangkan website menjadi lebih cepat dan mudah
![Page 84: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/84.jpg)
Mengumpulkan Variabel Global• Nilai servername, username, password, dan namaDB akan dibutuhkan
pada setiap halaman yang menggunakan database
• Lebih baik variable-variable ini dipisah pada file tersendiri• Agar tidak perlu diketik berkali-kali
• Cukup require(“koneksi.php”);
• Agar perubahan pada variable-variable tersebut cukup dilakukan pada satu file, mis. Koneksi.php
Sorot baris-baris ini, kemudian CutRegistrasi.php
![Page 85: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/85.jpg)
• Pindahkan baris-baris ke koneksi.php
• Tambahkan
require(“koneksi.php”);
Koneksi.php
Registrasi.php
![Page 86: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/86.jpg)
Membuat Library
• Perintah-perintahpengecekan error pada SQL sebenarnya jugaakan dilakukanberulang-ulang
• Daripada harusdiketik berkali-kali pada setiap halaman
• Lebih baik buat jadilibrary sendiri
Sorot baris-baris ini, kemudian Cut
Registrasi.php
![Page 87: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/87.jpg)
• Copy Paste Edit, baris-baris tersebutke koneksi.php
• Buat dalam fungsijalankanSQL()
• Panggil fungsi pada library
jalankanSQL($koneksi,$sql)
Registrasi.php
Koneksi.php
![Page 88: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/88.jpg)
Menampilkan Data
![Page 89: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/89.jpg)
Menampilkan Data
• Untuk Latihan menampilkan data, buatfile baru LihatData.php• Karena variable global telah dikumpulkan
di koneksi.php
• Tidak perlu lagi menuliskan variable-variable $servername, dll
• Cukup require(“koneksi.php”);
Edit LihatData.php
Browse LihatData.php
![Page 90: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/90.jpg)
• Prinsipnya sama dengan insert data, yaitu memanggil fungsi mysql_query()• Yang berbeda adalah perintah SQLnya
• Tambah data => INSERT INTO…. ,
• Lihat Data => SELECT ….
Edit LihatData.php
Refresh LihatData.php
![Page 91: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/91.jpg)
$daftarBaris = mysqli_query($koneksi, “perintahSQL”);
• Perintah akan melaksanakan perintah SQL menggunakan suatu koneksi.
• Perintah ini menghasilkan sekumpulan baris data, daftar baris hasileksekusi perintah SQL.
• Daftar baris ini kemudian dapat diproses selanjutnya• Misalnya ditampilkan, dll
Edit LihatData.php
![Page 92: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/92.jpg)
$baris = mysqli_fetch_assoc($daftarBaris);
• Perintah ini untuk mengambil satu baris dari sekumpulan baris.• Dari sekumpulan baris yang telah didapatkan dari perintah mysql_query()
• Baris berupa array yang menyimpan masing-masing nilai, sehinggadapat diakses
$baris[“namaKolom”];
Edit LihatData.php
![Page 93: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/93.jpg)
• Index arraynya harus samadengan nama kolom pada table.
• Bagaimana untuk menangkapnilai lain?
$baris[“password”]
$baris[“nama_lengkap”]
$baris[“usia”]
$baris[“email”]
dst
$baris[“namalengkap”]
![Page 94: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/94.jpg)
• Data ditampilkandengan cara yang bermacam-macam.
• Biasanya data ditampilkandalam bentuktabel
Edit LihatData.php
Contoh Tampilan Tabel
![Page 95: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/95.jpg)
Biasanya data ditampilkan sebagai tabel
• Mulai denganmenambahkan tag pembuka table
• dan tag penutup table
• Belum ada perubahantampilan• karena table mustinya ada
<tr> <th> <td> Edit LihatData.php
![Page 96: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/96.jpg)
• Tambahkan bagian judul table
<tr> <th> Judul1</th> <th>Judul2</th> … </tr>
Edit LihatData.php
![Page 97: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/97.jpg)
• Karena setiap $baris data akan ditampilkan sebagaisatu baris pada table
• Tambahkan penanda awalbaris table <tr>
• Dan penanda akhir baristable </tr>
Edit LihatData.php
![Page 98: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/98.jpg)
• Karena setiap kolom padabaris $baris[“namaKolom”] akan ditampilkan dalamsetiap cell pada table,
• Maka tandai awal dan akhirmasing-masing data
• Awal <td>
• Akhir </td>
Edit LihatData.php
![Page 99: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/99.jpg)
LihatData.php
Cek apakahSudah samaDengan file anda
![Page 100: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/100.jpg)
• Dalam suatu halaman bisaterdapat banyak form
• Contoh pencarianberdasarkan Username• Ubah form agar metode
pengiriman POST keLihatData.php
• Sisanya sebagai latihan(non-tugas)
Buka FormCariData.php Browse FormLihatData.php
![Page 101: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/101.jpg)
• Pencarian data sebenarnya hanyalah manipulasi pada perintah SQL
Select * from pengguna
Menjadi
Select * from pengguna where [kondisi]
Mis. Mencari data yang kolom username nya mengandung kata “adi”
Selct * from pengguna where username=‘%adi%’
Ubah LihatData.php Akan muncul error LihatData.php
![Page 102: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/102.jpg)
• Variabel $keyword adalah untuk menangkapnilai dari form, sehingga
$keyword = $_POST[“userName”];
• Coba formCariData.php
Edit LihatData.php
Browse dan Isi FormLihatData.phpPencarian hanya username mengandung “ad”
![Page 103: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/103.jpg)
FormLihatData.php
LihatData.php
![Page 104: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/104.jpg)
Materi / Latihan Non Tugas
• Pada Data baiknya ditambahkantambahkan fungsi Edit/Hapusdll
Contoh Tampilan Form
![Page 105: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/105.jpg)
• Untuk menambahkan gambar, padatable• Seperti data lainnya• Pakai tag <td> </td>
• Tambahkan Gambar <img>• credit bagi pembuat gambar
Edit LihatData.php
![Page 106: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/106.jpg)
• Prinsipnya adalah membuat gambar-gambar tersebut (edit & hapus) menjadi link, yang kalau di klik akan mengirim kolom id data ke halamanlain (mis editData.php & hapusData.php)
• Pada halaman-halaman inilah (editData.php & hapusData.php) perintah sqlyang sesuai dijalankan
HapusData.php
EditData.php
![Page 107: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/107.jpg)
Kirimkan Id menggunakanMetode GET• Pada LihatData.php: buat linknya
• Pada HapusData.php: tangkap nilainya
Edit LihatData.php
Edit HapusData.phpHalaman akan pindah keHapusData.php
![Page 108: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/108.jpg)
Lanjutkan agar Bisa Benar-benar dihapus
![Page 109: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/109.jpg)
Alur Edit Data
• User klik padaTombol Icon Edit
• User mengisi dengannilai baru
• Kemudian klik tombolUpdate
• Data ditangkap dandisimpan padadatabase
• Pakai perintah SQL.
GET POSTLihatData.php FormEditData.php EditData.php
![Page 110: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/110.jpg)
• Pada LihatData.php: Buat linknya
• Pada FormEditData.php: Tangkap nilainya
Edit LihatData.php
Edit FormEditData.phpData tertangkap FormEditData.php
![Page 111: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/111.jpg)
• Karena data hanya satubaris, maka
Perintahmysqli_fetch_assoc() tidakperlu dimasukkan dalamiterasi (while)
Edit FormEditData.php
![Page 112: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/112.jpg)
Nilai-nilai data, disisipkan pada form
Edit FormEditData.php
![Page 113: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/113.jpg)
User klik Link Edit User isi DataKlik tombol Update
User pindah ke halaman editData.php
![Page 114: Pemrograman Web Week 6 · •Untuk mengamankan data agar tidak terbaca oleh orang lain, ... membuat sendiri enkripsi secara manual ... karena masih di laptop maka localhost](https://reader031.vdocuments.pub/reader031/viewer/2022022116/5c84a7ac09d3f2b27b8b93ff/html5/thumbnails/114.jpg)
Lanjutkan Sampai Data pada database Terupdate