【问题标题】:What people can do if they know the name of my .php file?如果人们知道我的 .php 文件的名称,他们可以做什么?
【发布时间】:2018-12-31 21:20:25
【问题描述】:

我使用 jquery 来加载一些文件:

$("#mUm").load("drop_menu_loop.php");

在这个文件中我有一个foreach 循环和require_once 'database_config.php';

这个问题可能很愚蠢,但我有点不安全,所以我想问。

我不应该用 jquery 加载什么样的代码?

【问题讨论】:

  • 很难说,因为我们不知道php文件的内容是什么。如果其中包含任何可能危及数据库和/或文件的内容,那么我们需要知道我们在这里真正处理的是什么。我不清楚这方面的问题。
  • 这个问题很误导自己。真正的问题应该是我的服务器上可以通过网络获得哪些资源。始终假设人们确切地知道您的公共目录中有哪些文件,并且可以向您的 Web 服务器请求其中的任何文件。
  • @FunkFortyNiner 我确实说过我的 php 文件中的内容,数据库配置示例:$username:.. $password:.., $hostname:..,以及带有foreach 循环的select 查询。

标签: php jquery file security


【解决方案1】:

您应该能够使用 JQuery 加载您想要的任何内容,因为您将在 PHP 脚本中加载并且这些都是服务器端的。现在,如果有人要掌握您的 PHP 文件的位置,他们可以做的一件事是向那些修改数据库的页面发送 POST 请求,但是,其中许多页面已经从您的表单中暴露出来。您可以通过向您的站点添加 CSRF 保护方法来防止这种情况发生。

您的 Web 根目录中的任何目录都不是私有目录,因此无论如何添加这些保护措施都很重要。

总的来说,通过 JQuery 加载您想要的任何内容。

希望这会有所帮助!

【讨论】:

  • potentially send POST requests to those pages modifying your database 你能提供更多关于这个的信息吗?你说的是sql注入吗?
  • @user236945896 因此,对于许多具有表单的 PHP 网站,当提交这些表单时,它们会向某个位置发送请求。位置取决于action 属性,方法取决于method 属性。因此,假设我们有<form method="post" action="/login.php" />,当您单击提交时,login.php 会收到一个发布请求,其中有一个脚本从该发布请求中获取数据($_POST['data'];)并使用它向数据库发送查询。有人可以从他们自己的服务器发送请求,而不是通过您的表单。这可能是恶意的一种方式是垃圾邮件。
  • 我在 google 上搜索了有关 CSRF 的内容,我发现的大多数文章都讨论了带有 method GET 的恶意链接,“经过身份验证的”用户(受害者)应该点击该链接,例如:@987654328 @,我不知道 CSRF 会如何影响我的数据库...
  • @user236945896 所以页面bank.co/transfer.do 将接受请求,在这种情况下,获取并使用这些请求中的数据在数据库中发送。这将如何影响您的数据库将查询发送到您的数据库以向黑客的帐户添加 500 美元。有时,黑客所做的可能更加恶意,例如,如果您没有服务器端保护,则执行 SQL 注入攻击,或者他们甚至可以在未登录的情况下修改其他用户的数据。
  • @user236945896 是的,很抱歉造成混乱。当我说修改数据库时,我的意思是你所说的,用户帐户安全而不是修改实际表。我的错。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-03
  • 1970-01-01
  • 2020-03-03
  • 2018-05-27
  • 1970-01-01
相关资源
最近更新 更多