这个php代码安全吗?如何隐藏javascript链接?


Is this php code safe and how to hide the javascript link?

人们将能够在浏览的状态栏中看到javascript确认链接。所以,下面的代码足够安全,如何隐藏javascript不显示这一点:javascript:a = confirm('Are you sure you want to purchase this reward?'); if (a) { location.href='./?page=vote&act=rewards&id=8'} else void(0)

Script:

if ($_SESSION['nVotePoints'] >= $data['nCost']) {
            $url = './?page=vote&act=rewards&id=' . $data['id'];
            $confirm = "javascript:a = confirm('Are you sure you want to use purchase this reward?'); if (a) { location.href='{$url}'} else void(0)";
          $data['URL'] = $confirm;
        }
        else
          $data['URL'] = 'javascript: alert(''' . stripslashes(Template::GetLangVar('VOTE_NEED_VP')) . ''');';
$column[$i++] = Template::Load('vote-reward-column', $data);

亲切的问候。

请记住,即使您可以隐藏JavaScript,这也不是一个安全的系统。有些人可以启动WireShark, IE的F12开发者工具,Firefox的Firebug,或者Chrome的开发者工具,并准确地看到东西去了哪个页面,或者调试任何触及DOM的调用,即使你的代码是完全乱码。

如果你想保护这样的事情,你不能信任客户端,你需要在服务器上这样做。否则,其他人可以编写自己的代码来调用你的服务,根本不运行JavaScript,并且完全绕过你的验证逻辑。