猿问

将 PHP 数据值安全地传递给 javascript

我正在尝试将用户 ID 从 php 传递到 javascript,但挑战是添加“您确定要继续”弹出选项。我的目标是使用数据值通过 HTML 标记传递 ID,但是我遇到了错误,用户可以使用 Google 开发工具更改值。有没有解决的办法?


这是 HTML

*代码是用 PHP 显示的,所以 $user_id(和其他)都是添加到用户框的每个实例的 PHP 变量


<div class='user-line'>

    <div class='user-upper-line'>

        <div class='user-id'><b>ID: </b>$user_id</div>

        <div class='user-name'>$user_fName $user_lName</div>

    </div>

    <a href='mailto:$user_email' title='Email $user_fName' class='user-email-link'><div class='user- 

    email'><b>Email: </b>$user_email</div></a>

    <div class='user-role'><b>User Role:<br id='role-br'> </b>$user_role</div>

    <div class='user-view-profile'><a href='#' class='noSelect user-view-profile-btn' title=\"View $user_fName's Profile\">View Profile</a>

    <div class='noSelect user-update-permissions' title=\"Update $user_fName's Permissions\">Update Permissions</div>

    <div class='noSelect user-delete-profile-btn' data-value='$user_id' title=\"Delete $user_fName's Account\">Delete User</div>

    </div>

</div>

jQuery


    $(".user-delete-profile-btn").click(function() {


        id = $(this).attr("data-value");


        alert(id);


        $(".delete-account-overlay").stop(true).fadeIn(500);


    });


烙印99
浏览 110回答 2
2回答

慕码人2483693

因此,如果我对您的理解正确,您希望能够在客户端中访问用户 ID 并确保不能更改 ID?通常,在大多数情况下,为前端/客户端提供的所有内容都应被视为不能保证不会被操纵的数据,但是如果您对用户能够看到该值很酷,那么有一些方法可以解决这个问题(但是不要改变它)。例如,您可以使用 JSON Web 令牌 (&nbsp;https://jwt.io/&nbsp;),这是我自己一直在使用的一个非常简洁的概念。您基本上签署了数据,因此您可以立即查看是否有任何更改。这是一种在客户端中存储信息的安全方式,并且仍然可以确保它不能被更改

largeQ

我建议您在后端进行良好的验证,但是,您可以使用它来document.oncontextmenu = function () {return false}&nbsp;避免使用 devtools,尽管您真的不应该仅仅依赖技巧,最好使用 Json Web Tokens (jwt) 正确验证后端
随时随地看视频慕课网APP
我要回答