簡體   English   中英

錯誤或php + mysql代碼顯示給用戶。 可以提取哪些信息以及如何防止這種情況?

[英]Error or php + mysql code is appeared to the user. What info can be extracted and how to prevent this?

我在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

這可能被用來尋找安全漏洞。

您可以通過在mysql_query失敗時拋出Exception並捕獲Exception來輕松地避免這種情況;)

您還可以捕獲警告。 參見set_error_handlerset_exception_handler

這同時暴露了數據庫結構(的一部分)和文件系統結構。 這將允許技術精湛的用戶研究您正在使用的系統的已知漏洞,並且可能會失敗。

更新您的php.ini以關閉display_errors ,然后重新啟動XAMPP,這應該可以防止這種情況的發生。

除了其他人已經提到的:

  1. 您可以檢查訪問者是否正在直接請求文件,或者訪問者是否以“正常方式”訪問文件。 在您的所有php文件中包括某種形式的授權。 如果未經授權,將用戶重定向到主頁。

  2. 您可以使用.htaccess保護文件免受直接訪問

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM