javascript - 如何为 XMLHttpRequest 目的在 Javascript 中存储 $_SESSION 变量?

标签 javascript php

我刚才问过这个问题,但我删除了那个问题,因为我虽然找到了解决问题的合适方法。

我正在制作一个使用大量 XMLHttpRequest 的网站。我需要将已登录客户端的 user_id 发送到位于其他位置的 php 文件,该文件会将 sql 语句发送到 database,根据登录的客户端返回信息。我对安全没有任何知识。我对 sqlphp 只有一点知识。所以我想让我的网站安全,所以我需要一些关于安全性的建议,以及通过适当的方式将 user_id 发送到 php 文件。

或者是否在客户端显示 user_id 是否重要。而且我仅将客户端的唯一 user_id 存储在 $_SESSION 中,没有别的。

我已经完全使用这个来源制作了我的登录/注册系统 = https://www.youtube.com/watch?v=xb8aad4MRx8&t=674s

index.php:

<?php
    session_start();
?>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>TEST</title>
</head>
<body>
    <?php
        if (isset($_SESSION['user_id'])) {
            echo ('<button>CLICK TO GET INFO IN CONSOLE</button>');
        } else {
            header ("Location: login.php");
            exit();
        }
    ?>
    <script>
        var user_id = <?php echo($_SESSION['user_id']);?>;
        document.querySelector("button").onclick = function() {
            var xhr = new XMLHttpRequest();

            var url = "http://URL_OF_A_PHP_FILE_LOCATED_IN_A_DIFFERENT_LOCATION";

            xhr.open("GET", url + "?user_id=" + user_id + "&var_1=val_1&var_2=val_2&var_3=val_3");

            xhr.onload = function() {
                console.log(JSON.parse(xhr.responseText));
            }
            xhr.send(null);
        }
    </script>
</body>
</html>

最佳答案

您不必使用 javascript 在 PHP 文件之间共享信息(即使在不同的服务器上)。

$_SESSION 明确用于在页面之间保存数据,您应该在页面中这样处理它。

如果您必须将 user_id 发送到不同服务器上的文件,建议在您的 PHP 文件中执行此操作,而不是 Javascript(这是客户端,因此很容易被滥用)。

您可以简单地使用 curl执行 HTTP POST 请求。

关于javascript - 如何为 XMLHttpRequest 目的在 Javascript 中存储 $_SESSION 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54660604/

相关文章:

javascript - 如何调用自定义约束验证作为 native 验证事件流的一部分?

PHP 正则表达式无法正常工作

php - 如果不存在,则将记录插入到 MySQL 中具有特殊条件的特定列

javascript - JSON 整数自动转为除 id 之外的字符串

php - 如何在 php 中将 0111 算作 0+1+1+1=3

javascript - 不一致的 `with` 行为 - 函数内无法访问 - 这是 chrome 错误吗?

javascript - 如何在 react-native 中过滤 JavaScript 对象

php - 在 Laravel 中注册后重定向

javascript - Ajax调用、函数回调、javascript

javascript - 将变量从 jQuery ajax 传递到 nodejs