web-dev-qa-db-ja.com

Webブラウザーの[よくアクセスするページ]または[短縮ダイヤル]セクションにサイトが表示されないようにする

Webブラウザの「よくアクセスするページ」/「短縮ダイヤル」/スタートページにアイコンとしてWebサイトが表示されないようにするための確立された方法はありますか?

この1つの例は、新しいGoogle Chromeウィンドウを開始したときにデフォルトで開くタブで、以前にアクセスしたWebサイトの小さなサムネイルがたくさん含まれています。

これらのサムネイルの1つにWebアプリからの機密情報を表示することに関してプライバシーの懸念があります。 (モバイルデバイスのタスクスイッチャーを介して機密情報が漏洩する可能性とほぼ同じです)

これを実行できるHTTPヘッダー/メタタグがあると思いますが、これまでのところ、私の研究では何も発見していません。

キャッシュディレクティブヘッダーや、これまでに試みたページがキャッシュされないようにする他の標準的な方法は、機能していないようです。

編集:私は、機密情報を表示し、ユーザーが新しいタブを開いたときに画面を見ることができる人にユーザーのブラウザーにそれを見せたくないウェブサイトを運営しているサービスプロバイダーの立場に尋ねています。

17
Stu W

これは、なぜ私が Chromiumのソースコード を調査していたのかという興味深い質問です。

答え

最も訪問されたビューで使用されるスクリーンショットを防ぐために100%信頼できる機能を実装することはほぼ不可能です。サービスがデータを格納している瞬間に、機密コンテンツを非表示にする必要があります。これは突然、警告なしで発生する可能性があります(少なくともWebサイトから)。

技術的な詳細

トップサイト を評価するサービスを実行しています。そのようなページの スクリーンショットを作成する を担当する別のサービスがあります。 top_sites_impl.ccには TopSitesImpl :: GetUpdateDelay があり、このような画像を作成する間隔を返します。デフォルト値は30秒​​です。

if (cache_->top_sites().size() <= prepopulated_pages_.size())
   return base::TimeDelta::FromSeconds(30);

しかし、それはそれよりはるかに複雑になるかもしれません:

int64_t range = kMaxUpdateIntervalMinutes - kMinUpdateIntervalMinutes;
int64_t minutes = kMaxUpdateIntervalMinutes -
                last_num_urls_changed_ * range / cache_->top_sites().size();
 return base::TimeDelta::FromMinutes(minutes);

さらに、この更新メカニズムを再開するには、いくつかの特別なイベントが必要です。これは、トップページサービスのスパムを防ぐために実装されています。

2
Marc Ruef