echo '<a class="bigbtn" href="'.'videoview.php?song_id='.$video['song_id'].'&'.'title='.$video['VideoTITLE'].'&'.'group='.$video['GroupName'].'&'.'artist='.$video['ByArtist'].'"></a>' ;
在浏览器中显示加密链接的最佳方法是什么,用户无法篡改它们?它不是关键任务链接。但是想让它更安全一点。
我正在尝试使用urlencode并使用base64解码,但我尝试将值分配给这样的变量。
$song_id = urldecode(base64_decode($_Get['song_id']));
但转换没有发生。
,解码并没有像我想的那样发生。
答案 0 :(得分:3)
Base64是一种以ASCII字符串格式表示二进制数据的方法,它与加密无关。
假设加密/解密发生在服务器端:
加密:mcrypt-encrypt。 然后,使用:mcrypt-decrypt
解密一个实现示例:
<?php
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "secret";
$text = "Keep it secret, keep it safe";
//encrypt
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
//decrypt
$originaltext = mcrypt_decrypt (MCRYPT_RIJNDAEL_256, $key ,$crypttext , MCRYPT_MODE_ECB, $iv);
?>
答案 1 :(得分:0)
模糊变量或ID几乎永远不会得到回报:如果您想保护资源,请使用authorization。
如果您想防止大量下载,请使用IP监控来监控访问/配额。
但是简单的查询/网址搞乱是一种廉价的解决方案,在我看来不会长期支付。