gpt4 book ai didi

PHP AJAX Joomla 身份验证脚本

转载 作者:行者123 更新时间:2023-12-04 16:54:00 25 4
gpt4 key购买 nike

我有一个这样的 PHP 脚本:

<?php
include 'authorization_script.php';

foreach ($_POST as $key => $value){
//do something here
}
?>

问题是 如果 “authorization_script.php” 传递了一个只有数字名称的 $_POST 变量,脚本会崩溃。我不想解决这个问题,而是希望确保没有 $_POST 变量被传递给包含脚本。

为了让它工作,这个“authorization_script”不需要任何外部变量,但由于 $_POST 变量默认是全局的,它们被传递给这个脚本。建议在 one of my previous questions我可以用 PHP 中的命名空间解决这个问题。

我可以更改 $_POST 变量的命名空间,以便它们不会传递给包含脚本吗?如果是这样,有人可以帮助解决如何做到这一点吗?或者,还有更好的方法?

谢谢

编辑:与其通过重命名 $_POST 变量来破解我的方法,不如像你们中的一些人建议我解决真正的问题。这是 Joomla 网站中的 AJAX 脚本。当我调用这个 ajax 脚本时,我仍然想对用户进行身份验证,然后对本地数据库中的凭据进行评分。我发现从 AJAX 脚本验证用户的方式是这样的:
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__));
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

/* Create the Application */
$mainframe =& JFactory::getApplication('site');

/* Make sure we are logged in at all. */
if (JFactory::getUser()->id == 0)
die("Access denied: login required.");

我认为错误是在 joomla 框架脚本中抛出的( this script 上的第 528 行)。

有没有更好的方法来验证有经验的 Joomla 用户的用户身份?

最佳答案

或者如果你不想修复你的包含脚本,你可以做这个可怕的黑客:

<?php
// watch this ugly hack
$post_hack = $_POST;
unset($_POST);
include 'authorization_script.php';
$_POST = $post_hack;

foreach ($_POST as $key => $value){
//do something here
}
?>

关于PHP AJAX Joomla 身份验证脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8593016/

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