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_handlerて、set_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 に答える