Enkripsi Data Form Tanpa SSL Dengan PHP Form Encryption
Enkripsi tidak hanya dibutuhkan oleh perusahaan atau organisasi besar. Bisnis kecil dan juga organisasi nonprofit juga membutuhkan enkripsi untuk melindungi informasinya. Mereka perlu melindungi data personal yang dimilikinya.
Solusi yang ideal adalah dengan menggunakan enkripsi SSL/TLS, namun hal tersebut tidak selalu tersedia untuk semua skenario. Maka kali ini kami membuat tutorial mengenai bagaimana cara mengimplementasikan enkripsi data form tanpa harus mengandalkan pada koneksi SSL/TLS dengan menggunakan PHP Form Encryption.
PHP Form Encryption
PHP Form Encryption menawarkan solusi enkripsi pada level aplikasi di aplikasi PHP dan JavaScript untuk mengenkripsi data form. Sementara enkripsi SSL/TLS menyediakan mekanisme yang aman untuk melindungi transmisi data pada jaringan publik, namun hal ini tidak selalu tersedia.
Contohnya jaringan private yang digunakan pengguna bisnis kecil dengan menggunakan Wi-Fi dapat mengekspos informasi sensitif. Ada banyak situasi dimana infrastruktur teknis atau sumber daya ekonomi tidak memungkinkan untuk memasang protokol komunikasi yang aman.
Terkadang enkripsi pada level aplikasi bisa menjadi cukup, atau bahkan dapat melengkapi sesi dan/atau tingkat keamanan transmisi.
Bagaimana cara kerjanya?
1. Server mendapatkan permintaan dari klien mengenai halaman website yang berisi form
2. Server akan membuat sesi RSA key pair, dan mengirimkan public key yang dimasukan pada respon HTML
3. Web Browser mengisi form dan membuat key AES-256, yang dikembalikan ke server dengan public key yang didapatkan dan form data yang telah terenkripsi AES. Web browser akan menyimpan AES key ini menggunakan penyimpanan di komputer lokal.
4. Server mendapatkan RSA-encrypted AES key dan akan mendekripsinya menggunakan RSA private key. Kemudian AES key akan digunakan untuk mendekripsi data form, proses enkripsi/dekripsi akan terus hingga sesi berakhir.
Implementasi pada PHP
Sesi harus dimulai dengan menggunakan Cryptopost class, seperti:
session_start(); require_once './Cryptopost.class.php'; $crypto = new Cryptopost(1024, './openssl.cnf'); if (isset($_POST['cryptoPost'])) { $formId = $crypto->decodeForm(); }
Jadi, sekarang kita tahu id dari form dan $_POST superglobal berisi data yang telah didekripsi. Sebelumnya $_POST hany akan berisi seperti ini:
var_dump($_POST) result:
array(2) { ["cryptoPost_key"]=> string(256) "5df90b95ec4fab45d50d34c917c6578f939ccbfadf9486f133850d47a3d6b2c82a277a3468ca11fc7b9163c385eacc2a3a4d091cf8797e55d681b0279058a9f3e334092fb03791931d22ca3847f4f9d4dec0d0a47936f012b6be9723981088d0b049cff46a8e81ec93e2b4f7c3a387d36e2033754d1420a8dc800a4eec6cd0e9" ["cryptoPost"]=> string(242) "U2FsdGVkX1/53Ut6KFi36Ou/e3lIJz/5pf8FuPb1Yh//WdefKb0iyCke2/g0QPD5 BeknGV4L8dveRDbQ4kXm5YNi3nyG+/F8JWKDipA9ygHPf5KdFr6pYcfzNQjwwfd8 rIC19cl9IOJcs171tm0OBVknaloQWDwpLM/KjISdwwPiRGCtcBhkYrcdsgv6JcwD aVuU4VunXdWJji9WAKD+1bJrThq2VLjEHhELl26y4vI=" }
Perlu dicatat bahwa entry “crytoPost_key” hanya akan didapatkan satu kali pada saat server pertama kali menerima form. Post request hanya akan dimasukan pada entry “cryptoPost” jika key telah direset.
Untuk mengirim form yang terenkripsi pada server, bisa memasukan kode untuk memanggil objek JavaScript cryptoPost seperti:
<form id="form1" method="POST" action="test.php" onsubmit="return cryptoPost.encrypt('form1')">
Web browser mungkin perlu menenkripsi record untuk mengedit. Server dapat mengirimkan seperti ini:
$record = array( "name" => $name,
“zipCode” => $zip
Dan terakhir, pada akhir kode HTML ditambahkan:
<script>cryptoPost.decrypt('<?php echo $encrypted;?>')</script>
Kesimpulan
Paket ini menyediakan cara yang mudah dan simpel untuk melindungi data dengan kriptografi tanpa memerlukan SSL/TLS. PHP Form Encryption membutuhkan ekstensi OpenSSL dan PHP 5.4 atau lebih baru.
Jakartawebhosting.com menyediakan layanan PHP Hosting, dengan kecepatan dan stabilitas pusat data dan server yang baik, up time server 99,9%, team support yang siap membantu 24 jam dan biaya langganan yang menarik.
21 Responses
hq sex games https://cybersexgames.net/
gokken in online casino https://casinoonlinek.com/
online casino games list https://casinogamesmachines.com/
nj online casino promo codes https://conline-casinos-hub.com/
atlantis casino online https://onlinecasinos4me.com/
online casino no deposit bonus code https://online2casino.com/
vegas 7 online casino https://casinoonlinet.com/
play free casino games online https://casinosonlinex.com/
keto before and after https://ketogendiets.com/
writing an essay for college admission https://yoursuperessay.com/
essays to write about https://howtowriteessaytips.com/
writing an opinion essay https://checkyouressay.com/
“gay military dating sites” https://gayprideusa.com/
gay dating in america https://gaysugardaddydatingsites.com/
evaluation in critical thinking https://criticalthinkingbasics.com/
ati critical thinking https://criticalthinkinginstitute.com/
stages of critical thinking https://criticalthinking2020.net/
the critical thinking company https://uncriticalthinking.com/
college essay example https://choosevpn.net/
essay heading https://topvpndeals.net/
hook essay examples https://tjvpn.net/