Silakan tunggu sedang proses
Kamis Pahing 20 November 2008 01:20
learn make rich
share make it perfect
Ayat Suci
Mereka itulah orang-orang yang Kami terima dari mereka amal yang baik yang telah mereka kerjakan dan Kami ampuni kesalahan-kesalahan mereka, bersama penghuni-penghuni surga, sebagai janji yang benar yang telah dijanjikan kepada mereka.
(QS. AL AHQAAF:16)

 otomatis refresh

Javascript ayat
Para Rekan
Lain-lain
User online: 411
User login: 2
Statistik BengkelProgram.com
user/passwd: bpuser

Penyembunyian Password di Database

Penulis
Menyimpan password dalam database MySQL agar tidak terbaca oleh webmaster.

Aryo Sanjaya
Kamis Kliwon, 2 Juni 2005

Terkadang dalam membuat website yang digunakan oleh publik, kita perlu menyimpan data penting seseorang, diantaranya adalah berupa password. Seperti di website ini, ketika anda melakukan pendaftaran, anda diminta memasukkan password untuk account anda.

Saat mengisikan password, bisa saja anda berpikir 'wah, jangan-jangan webmaster bisa lihat passwordku?'

Secara teknis, memang bisa, karena dalam hal ini webmaster yang membuat script PHP-nya. Namun secara etika, kita mesti saling percaya, bahwa password merupakan privasi seseorang. Jadi meski saya bisa (mampu) membuat agar password anda terbaca oleh saya, tapi saya tidak melakukannya. Hal tersebut karena password anda tersimpan secara ter-enkripsi.

Dalam MySQL, terdapat fungsi PASSWORD() yang berguna untuk mengenkripsi sebuah string, sehingga meski suatu record bisa terbaca, tapi isi field bisa disembunyikan. Kalau tidak salah (cuma nebak) fungsi PASSWORD menggunakan fungsi MD5, yang cukup banyak digunakan karena kehandalannya.

Implementasi dari fungsi tersebut adalah, ketika seorang user melakukan pendaftaran, lalu data tersebut akan disimpan, maka field 'password' dikenakan fungsi PASSWORD() ini.

Contoh:

$username = 'aryo';
$password = 'stiki';
$fullname = 'Aryo Sanjaya';
$email 	= 'aryo@elang526.net';

insert into pengguna(username, password, nama, email) 
values('$username',PASSWORD('$password'),'$fullname','$email')

Seperti terlihat, khusus field 'password', valuenya dikenakan fungsi PASSWORD() sehingga yang nantinya tersimpan bukan string 'stiki', tapi string '60e866ca5bc6cf90', yang merupakan hasil pengacakan string 'stiki'.

Langkah selanjutnya, yaitu untuk membaca data user ketika ada user yang 'login'. Untuk membandingkan password, maka value password yang diinputkan oleh user harus dikenakan fungsi PASSWORD() juga.

Contoh:

$username = 'aryo';
$password = 'stiki';

select nama, email from pengguna 
	where username = '$username' 
	and password = PASSWORD('$password')

Dengan seperti itu, maka perbandingan password dalam keadaan masih terenkripsi. Dan sang webmaster sekalipun tidak akan tahu password dari pengguna websitenya. Itu kalau dia punya etika untuk menerapkan teknik ini, atau teknik sejenisnya.

Demikian hal sedikit dari saya, semoga ada manfaatnya.

Aryo Sanjaya

Komentar

Halaman Komentar:   < 1 2 3 4 ... 7 >

Deni Wibowo

Rabu Legi, 19 April 2006

Pakdhe kiyat (iki boso kromone kuwat yo?), Kalo aku sih kalo udah ada account di serper mysql, pakenya ya account itu. Tinggal bikin tabel databasenya. **Eh.. balesanku iki nyambung gak yo?**

Aryo Sanjaya

Rabu Legi, 19 April 2006

Kiyat: Mestinya sih liat dulu substansi aplikasinya. *uhh, boso politik* Kalo user tersebut tidak membutuhkan akses ke database, ya mending ga usah didaftarkan di database server. Kayaknya jarang kasus seperti itu terjadi deh. Mungkin itu terjadi, ketika kamu bikin aplikasi Back-End (atau Back-Door? :D ) seperti misalnya CPanel, PHPMyAdmin, untuk manajemen database, baru ada kemungkinan untuk mendaftarkan user di database server. Kalo sekedar untuk tau user mana saja yang login, kan bisa menggunakan Log database :) Untuk pengapitan [code], itu aja masih versi beta Yat :D Masih belum fix, terutama kalo di Firefox. Yang di halaman sharing juga masih error :( Deni: Ealah, aku malah gak kepikir lek jenenge Kiyat iku teko boso kromo. (Upss... no offense please) :D Masih nyambung kok balesannya.

kiyat

Kamis Pahing, 20 April 2006

wekekekek... mas, lha kalo liat di log database (ngapunten kulo mbonten pernah liat) kalo mysql lognya dimana? terus kalo gak di daptarin di serper, kan ketahuannya cuma nama user yang di buat untuk koneksi (jika dan hanya jika user lain di masukan table doang) kados pripun kang mas sedoyo mawon :D

Aryo Sanjaya

Kamis Pahing, 20 April 2006

Maksudku log itu bukan log-nya database server. Kalo kita bikin aplikasi yang secure, setiap ada user yang login/logout, selalu dicatat di tabel tersendiri, termasuk jam, ip-address, browser, dll. Nah, dari catatan itulah kita bisa tau siapa aja yang sedang konek :D Jadi kalo mengandalkan user yang dipake buat login ke database, hmm... kayaknya belum mengena deh.

Aryo Sanjaya

Kamis Pahing, 20 April 2006

Tambahan, pencatatan ke dalam log itu dilakukan sendiri oleh script kita loh, jika ada user yang telah sukses login (bahkan untuk yang gagal login juga dicatat biar lebih aman).

Ree

Kamis Pahing, 20 April 2006

Pak kalo terjadi lupa password pye?

Kang Delphi Garut

Jum'at Pon, 21 April 2006

Halo Ree, Karena passwordnya dienkrip satu arah (one way hashing), maka satu-satunya kemungkinan yang masuk akal jika lupa password, adalah dengan membuat password baru. Kalo di layanan email gratis, biasanya kita diberi kesempatan untuk melakukan 'Password reset', dimana password lama akan direplace dengan yang baru. Untuk layanan yang kurang bagus, biasanya kalo kita lupa password, kita bisa memperoleh kembali password kita yang lama. Ini justru membuktikan bahwa password kita tidak di-one-way-hashing-kan oleh layanan tersebut.

Aryo Sanjaya

Jum'at Pon, 21 April 2006

Ups... Maaf buat Dede, aku posting komentar di atas itu pake Nama dan Email kamu :( Kadung tersimpan di cookie sih, setelah aku posting pesen kamu yang nyasar ke sharing@bengkelprogram.com :D

Kang Delphi Garut

Jum'at Pon, 21 April 2006

Ga pa2 mas salah jurusan yach :) masih di bengkel ini kok :))

Deni Wibowo

Jum'at Pon, 21 April 2006

Kiyat:
Memang sebaiknya user yang login/logout dikasih log sendiri, jadi bisa dicek validitasnya atau barang kali (batu, pasir, koral dsb... :D ) ada yang mau coba2 login dengan sembarangan atawa nge-hack..

Contoh sederhananya begene (pake PHP wae yo)



Itu memang masih sederhana banget, tapi semoga bisa jadi gambaran mbikin log. Ocre?


Utk Aryo:
Emang yen pake firefoc tulisan [code] dadi semrawut gini yo? :P


Halaman Komentar:   < 1 2 3 4 ... 7 >

Mengisi Komentar





untuk kode program, apit dengan tanda [code][/code].
contoh:

[code]
(kode program)
[/code]



Daftar Artikel PHP

» Constructors dan Destructors di PHP (1)
Rabu Pon, 30 April 2008

Constructors sebuah methode yg dijalakan ketika sebuah object dibuat dari sebuah class sedangkan Destructors adalah methode untuk menghapus object ketika script/program berakhir.

» GRABBING KURS BANK BCA (7)
Jum'at Pahing, 20 April 2007

TERINSPIRASI DARI GRABBING KURS BI BANG ARYO

» OOP Pada PHP (Part 1) (23)
Senin Pon, 18 September 2006

Pembahasan mengenai dasar pemrograman OOP pada PHP

(Rakhmad Maulidi)

» Menghitung Jarak Waktu (33)
Rabu Wage, 17 Mei 2006

Mengitung jarak waktu dan menampilkan sebagai Javascript

» Grabbing Kurs Dari BI (21)
Rabu Pahing, 5 April 2006

Grabbing data adalah tindakan tidak sopan. Tapi kali ini yang dibahas adalah teknik grabbing, masalah moral dan etika silakan cari sendiri (inspired by Iwan Fals)



Halaman:    1  2  3  >  

Account Data
Anda belum login.






 

Login hanya diperlukan bagi kontributor untuk mengisi artikel/berita dan mengupload file/gambar
Status Y!M
Saya sedang Offline. Silakan gunakan menu Kontak atau tinggalkan pesan di Yahoo! Messenger pada Id: aryo_sanjaya
Artikel Rame
Aplikasi Handphone (601)
Senin Pon, 20 Februari 2006

Mengirim SMS dari PC (422)
Senin Wage, 28 November 2005

Membaca SMS dari PC (386)
Selasa Pahing, 14 Juni 2005

Source SMS Autorespond (310)
Senin Legi, 24 April 2006

Barcode Reader (121)
Sabtu Pahing, 20 Januari 2007

Bukutamu
» ABDUL MADJID WARTABO
Selasa Pon
11 November 2008

» test
Minggu Legi
9 November 2008

» sipoeng
Rabu Pahing
5 November 2008

» sofie
Senin Kliwon
3 November 2008

» mas heri
Minggu Wage
2 November 2008


Halaman Bukutamu
Daftar Fungsi
pasaran
Mencari nama hari dan nama pasaran
pdu2sms
Konversi dari PDU ke Teks SMS
bacarss
Membaca RSS dari beberapa situs
Jejak Halaman
© 2005-2008 BengkelProgram.com