Ошибка или код PHP + MySQL появляется пользователю.Какую информацию можно извлечь и как это предотвратить? - PullRequest
1 голос
/ 18 июня 2011

Я использую платформу eclass на Xampp.Когда вы переходите непосредственно к файлу, например 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

Ответы [ 3 ]

2 голосов
/ 18 июня 2011

Это показывает как (часть) структуру вашей базы данных, так и структуру вашей файловой системы.Это позволит технически искушенному пользователю исследовать известные эксплойты используемой вами системы и может плохо закончиться.

Обновите ваш php.ini, чтобы отключить display_errors, и перезапустите XAMPP, что должно предотвратитьэто случилось.

2 голосов
/ 18 июня 2011

Помимо того, что другие уже упоминали:

  1. Вы можете проверить, выполняет ли посетитель прямой запрос к файлу или он обращается к нему "обычным способом". Включите некоторую форму авторизации во все ваши файлы php. Перенаправляйте пользователей на главную страницу, если они не авторизованы.

  2. Вы можете использовать .htaccess для защиты файлов от прямого доступа

2 голосов
/ 18 июня 2011

Это потенциально может быть использовано, чтобы найти дыры в вашей безопасности.

Вы можете легко предотвратить это, выбрасывая Исключение всякий раз, когда mysql_query не удается, и перехватывая Исключение, конечно;)

ВыТакже можно ловить предупреждения.См. set_error_handler и set_exception_handler

...