草庐IT

php - 直接访问 get/post 变量而不显式访问 $_GET/$_POST

我正在尝试重构旧的PHP项目,而这个项目没有显式访问$_GET、$_POST变量。例如,它只使用$ab而不是$_POST['ab']。我的本地服务器现在不允许这样做。如何更改我的php.ini设置,以便我可以直接访问那些$_POST和$_GET变量,而无需使用$_GET和$_POST引用它们?我需要通过服务器设置来执行此操作,因为有太多文件需要在顶部添加2行设置。 最佳答案 在php.ini中将register_globals选项设置为'on'但是,这是非常非常的错误做法,我建议您将其暂时保留。

php - 阻止对 AJAX 请求以外的 PHP 文件的直接访问?

我希望有一个使用AJAX访问./ajax/file.ajax.php中的PHP文件的网页问题是,我不希望人们能够在浏览器中键入地址来直接访问该PHP文件。有没有办法让只有AJAX请求才能访问该文件?是否有我可以在PHP文件中检查以实现此目的的内容? 最佳答案 如果您使用jQuery制作XHR,它将设置自定义headerX-Requested-With。您可以检查并确定如何提供您的回复。$isXhr=isset($_SERVER["HTTP_X_REQUESTED_WITH"])ANDstrotlower($_SERVER["HTTP

php - 我想从公共(public)访问中隐藏 json 文件。我怎么做?

我有一个网站,javascript文件正在将一个json文件(使用getJson)加载到一个基于先前选择选项的选择元素的选项中。但与此同时,公众可以直接访问该json文件。我只希望服务器可以访问此文件并在select元素中加载相应的选项。但我不希望公众可以直接访问该json文件(避免他们下载等......)我该怎么做?通过htaccess?或者其他什么?我在htaccess中尝试了“FILES”规则,但服务器也无法访问json文件。 最佳答案 Javascript在客户端运行,因此您的访问者可以获取javascript使用的任何资源

PHP:防止直接访问页面

我有一些我不希望用户能够直接访问的页面。我有这个我想出的功能:functionprevent_direct_access(){if($_SERVER['REQUEST_URI']==$_SERVER['PHP_SELF']){//include_once('404.php');header("Location:404.php");}}这正是我想要的,URL没有改变,但内容改变了。但是我想知道是否需要添加一些东西来告诉搜索引擎这是一个404而不是索引它。请记住,我不希望更改URL。谢谢! 最佳答案 不重定向而是发送404状态码:hea

php - 如何保护 Controller 不被直接访问?

我正在将codeigniter与jquery结合使用,如果您能向我解释如何保护Controller不被直接访问,那就太好了。例如,我对标准的jquery行有看法:$('#handler').load('tools/get_stats');工具它是我的Controller,具有加载统计信息的功能。如果我直接在浏览器中写入脚本的完整地址http://site.com/tools/get_stats,浏览器打开,当然是那个数据。如何保护浏览器的直接Controller访问?我希望我的数据仅在View中加载,而不是在Controller直接访问中加载。 最佳答案

php - 保护PDF文档不被URL直接访问

我想保护pdf文件不被直接链接,而是让我的登录用户能够访问它。我有一个链接,该链接当前指向发布表单的javascript函数:$('nameofdoc').setProperty('value',doc);document.getElementById('sendme').submit();其中sendme是表单的名称,nameofdoc是我要显示的文档的索引。这会转到一个php文件:$docpath=$holdingArray[0].$holdingArray[1];$file=$holdingArray[0];//filename$filename=$holdingArray[1]

php - 我应该将 superglobals 存储为包装类的属性还是应该直接访问它?

我想为Session和Request创建一个包装器,这样我就不必直接访问PHPsuperglobals。我意识到,如果我为超全局变量创建一个包装器并使用它们,那么对我的应用程序进行单元测试会更容易,因为可以模拟包装器类。在尝试创建包装器类时,我研究了一些示例包装器类。其中一些在初始化时将超全局存储为类属性:classSession{protected$vars;publicfunction__construct(){session_start();//POINTOFINTEREST//Storethesuperglobalasaclassproperty$this->vars=$_SE

php - 如何防止PHP页面被直接访问?

下面是我用作AJAX脚本一部分的javascript片段。如何防止直接访问user_back_end_friends.php?我不希望人们能够访问domain.com/user_back_end_friends.php并查看friend列表。Javascript代码:$(document).ready(function(){$("#user_friends").tokenInput("/user_back_end_friends.php",{theme:"sometheme",userid:""});});这是我发现的,但不确定如何使用上面的javascript代码实现它:我在需要调用

php - PHP include() 的限制

我将一些XHTML从PHP中分离出来,方法是将XHTML放入一个单独的文件中,然后在PHP脚本中使用PHP的include()函数。这工作得很好,但是,如果用户知道地址,他们仍然可以直接访问.html文件。他们真的不能用它做很多事情,但我宁愿它不显示。我在过去看到一些脚本使用某种形式的引荐来源检查,这是我要添加一些基本(注意我说的是“基本”)限制以防止它被直接访问查看?谢谢!澄清:我忘了说我想在PHP中执行此操作,因此没有网络服务器配置(将文件移出文档根目录,配置网络服务器以禁止访问等)。我认为这里最合乎逻辑的选择是使用define()常量检查,正如我在帖子中概述的那样,这确实是我在其

php - 使用 HybridAuth 的 Facebook 登录显示错误您无法直接访问此页面

我正在尝试为我的网站编写一个插件,以使用HybridAuth连接到facebook类。我刚刚试过下面的代码functionauthenticatewith($provider){ini_set('display_errors','on');//includes$config=dirname(__FILE__).'/hybridauth-2.1.2/hybridauth/config.php';require_once("hybridauth-2.1.2/hybridauth/Hybrid/Auth.php");$provider_name=$provider;//$config=$th