ai didi

PHP 保护 $_GET

转载 作者:行者123 更新时间:2023-11-29 08:00:13 24 4
gpt4 key购买 nike

我不知道为什么这不起作用。如果 ?Session=2 不是您发出的,那么您将返回您的帐户。

这是我的代码:

<?php
$hosts = $mysql->query("SELECT * FROM user_host WHERE uid = '" . $_SESSION['id'] . "'");
$hostsFetch = $hosts->fetch_assoc();

$userq = $mysql->query("SELECT * FROM users WHERE id = '" . $_SESSION['id'] . "'");
$userf = $userq->fetch_assoc();

if (isset($_GET['session'])) {
$_SESSION['siteid'] = $mysql->real_escape_string($_GET['session']);
header('Location: ./home');
}

if (trim($_SESSION['siteid']) == '') {
$_SESSION['siteid'] = $userf['default'];
}

$hosts2 = $mysql->query("SELECT * FROM user_host WHERE id = '" . $hostsFetch['id'] . "'");
$hosts2Fetch = $hosts2->fetch_assoc();

这就是问题/它不起作用

我仍然可以转到?session=2,但它不是我的

if ($hosts2Fetch['uid'] != $_SESSION['id']) {
$_SESSION['siteid'] = $userf['default'];
}


$host = $mysql->query("SELECT * FROM user_host WHERE uid = '" . $_SESSION['id'] . "'");
while ($item = $host->fetch_assoc()) {
?>
<option
value="./home?session=<?php echo $item['id']; ?>" <?php echo($_SESSION['siteid'] == $item['id'] ? 'selected' : '') ?>><?php echo $item['name'] . ' - ' . $item['domein']; ?></option>
<?php

}
?>

谢谢。

最佳答案

请记住,PHP 中的所有内容都区分大小写。您使用查询字符串 Session,但在代码中您无法引用 session,必须使用 Session

您提到使用了?Session=2,但在代码中您引用了$_GET['session']。这两者的大小写应该匹配。

关于PHP 保护 $_GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24018787/

24 4 0
文章推荐: java - Maven POM 的 XPath
文章推荐: javascript - 使用 web-sys 而不是普通的旧 JavaScript 是否有性能提升?
文章推荐: php - 如何防止从同一个 MySQL 表加载重复项?
文章推荐: php - 比较 2 个时间戳值并对结果执行某些操作
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com