gpt4 book ai didi

javascript - jsGrid:如何使用 ajax 将附加变量从 javascript 传递到 php

转载 作者:行者123 更新时间:2023-11-28 03:09:29 24 4
gpt4 key购买 nike

I'm using jsGrid for my project. View here for original source code

我想传递一个额外的变量调用 $user_session 以用于 fetch.php 中的 mysql 选择查询,但失败了。以下是我一直在尝试的内容。

<script>

var user_session = "<?php echo $user_session; ?>"; //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

//......

controller: {
loadData: function(){
return $.ajax({
type: "GET",
url: "fetch_data.php",
data: {user_session:user_session} //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
});
},

//......

这是 fetch.php 文件

<?php

if($method == 'GET')
{
$user_session = $_GET['user_session']; //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

$query = "SELECT * FROM sample_data WHERE first_name=? ORDER BY id DESC";
$statement = $connect->prepare($query);
$statement->execute($user_session); //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$result = $statement->fetchAll();
foreach($result as $row)
{
$output[] = array(
'id' => $row['id'],
'first_name' => $row['first_name'],
'last_name' => $row['last_name'],
'age' => $row['age'],
'gender' => $row['gender']
);
}
header("Content-Type: application/json");
echo json_encode($output);
}
//......
?>

执行此操作的正确方法是什么?

最佳答案

首先,任何人都可以在浏览器中打开开发控制台并开始模糊测试您的 session ID。虽然您正确准备查询并消除 SQL 注入(inject),但它并不能保护您免受 IDOR 的侵害,或者,我可以通过重复查询您的应用程序来枚举您的用户。

如果您确实想在客户端传递 session ID,也许您可​​以考虑使用 cookie,因为普通用户不太容易编辑它。

关于javascript - jsGrid:如何使用 ajax 将附加变量从 javascript 传递到 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60278191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com