1

我在 Xampp 上使用 eclass 平台。当您直接访问像 www.domain.com/eclass/document.php 这样的文件而不遵循通过站点导航时,您会得到这个。

用户可以提取哪些信息,如何避免它以及这对系统有多大危害?

1146: Table 'eclass.accueil' doesn't exist
                    select `id` from accueil
                    where visible=1 AND lien NOT LIKE '%/user.php'
                    ORDER BY rubrique

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\eclass\include\init.php on line 310

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\eclass\include\lib\main.lib.php:61) in C:\xampp\htdocs\eclass\include\baseTheme.php on line 60
4

3 回答 3

2

这可能会被用来发现您的安全漏洞。

您可以通过在 mysql_query 失败时抛出异常来轻松避免这种情况,当然要捕获异常;)

您还可以捕获警告。见set_error_handlerset_exception_handler

于 2011-06-18T15:26:56.297 回答
2

这暴露了(部分)您的数据库结构和您的文件系统结构。它将允许技术成熟的用户研究您正在使用的系统的已知漏洞,并且可能会以失败告终。

更新您的 php.ini 以display_errors关闭并重新启动 XAMPP,它应该可以防止这种情况发生。

于 2011-06-18T15:29:04.620 回答
2

除了其他人已经提到的:

  1. 您可以检查访问者是否直接请求文件,或者他是否以“正常方式”访问它。在所有 php 文件中包含某种形式的授权。如果未经授权,将用户重定向到主页。

  2. 您可以使用 .htaccess 来保护文件不被直接访问

于 2011-06-18T15:38:51.597 回答