JavaScript ログ
Silktide は、ページの読み込み中にページがブラウザーのコンソールへ書き込むメッセージを記録します。これらは通常、開発者が残したデバッグ出力です。非公開にしておきたい情報が含まれていないか確認するため、見直す価値があります。
重要な理由
コンソールのメッセージは、ブラウザーの開発者ツールを開けば誰でも見ることができます。本番環境に残されたデバッグ出力から、公開するつもりのなかった情報が漏れる可能性があります。たとえば、内部 URL やファイルパス、設定値、ユーザーデータ、システムの仕組みに関するコメントなどです。また、開発者が問題を診断する際に、本当のエラーを見つけにくくするノイズにもなります。
ログメッセージ自体が何かを壊すわけではありません。このチェックは機能性ではなく、衛生状態とウェブサイトが開示する情報を対象としています。
修正方法
これらの検出結果は、開発者が確認してください。
- 記録された各メッセージを読み、機密情報が含まれていないか、または根本的な障害を示していないか判断します。
- 公開する前に、自分のコードからデバッグ出力を削除します。
console.log(...)のようなステートメントが本番環境に残ることは、ほとんどありません。多くのビルドツールでは、これらを自動的に削除できます。 - サードパーティースクリプトからのメッセージは、通常は無害で、管理できないものです。問題がなければ、検出結果をして、再び報告されないようにします。
Silktide によるテスト方法
- 各ページを実際のブラウザーで読み込み、訪問者のブラウザーと同じようにスクリプトを実行します。
- 読み込み中にページが書き込む通常のコンソールメッセージをすべて記録します。対象には、ログ、情報、デバッグ、トレースの出力が含まれ、自分のコードによるものかサードパーティースクリプトによるものかは問いません。エラーと警告は、別の JavaScript エラーチェック で扱います。
- 発生元を示すスタックトレースとともに、各メッセージを報告します。
トラブルシューティング
メッセージのほとんどがサードパーティースクリプトからのものです
よくあることです。多くの一般的なスクリプトは、コンソールに自身の情報を出力します。スクリプトを削除せずにメッセージだけを削除することはできないため、一度確認して承認してください。
メッセージが表示されるのはときどきだけです
スクリプトは、条件に応じてログを出力することがあります。たとえば、リクエストが遅い場合や、機能フラグが設定されている場合などです。記録されたスタックトレースから、Silktide の訪問中にメッセージを生成したものを確認できます。