PHP ile id gönderirken şifreleme
Merhabalar sitemde PHP ile yorum yapma kısmında blog yazısının id değerini hidden olarak gönderiyorum ancak kaynak kodlarda id kısmı kabak gibi gözüküyor ve bu da beni rahatsız ediyor bunu başka bir şekilde yada şifreleyerek göndermem mümkün müdür?
mümkün evet. işte encode ve decode için birer fonksiyon
function encrypt($string, $key) {
return openssl_encrypt($string, "AES-128-ECB", $key);
}
function decrypt($string, $key) {
return openssl_decrypt($string, "AES-128-ECB", $key);
}
id'yi artık bir key
değeri ile şifreleyip gönderebilirsin.
<input type="hidden" name="id" value="<?=encrypt($id, 'ornek-anahtar-123')?>">
Bu id değerini alsa bile elinde ornek-anahtar-123
değeri yoksa şifreyi geri açamayacaktır. Post ettiğin tarafta ise şöyle kontrol edebilirsin;
$id = decrypt($_POST['id'], 'ornek-anahtar-123');
if (!$id){
return 'hatalı id değer gönderdiniz';
}
Eğer birileri hile yapıp öyle rastgele id değeri gönderecek olurlarsa yine çalışmayacaktır, çünkü şifreli bir değer ve bu değerin anahtar değerinin ornek-anahtar-123
olması bekleniyor aksi halde id false dönecektir.