0
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']));

但转换没有发生。

,解码并没有像我想象的那样发生。

4

2 回答 2

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);
?>
于 2013-01-01T20:27:55.740 回答
0

混淆变量或 id 几乎永远不会得到回报:如果您想保护资源,请使用授权

如果您想防止大量下载被抓取,请使用 IP 监控来监视访问/配额。

但在我看来,简单的查询/网址混乱是一种廉价的解决方案,不会长期支付。

于 2013-01-01T20:42:43.257 回答