Vivaldi1.15におけるローカルに保存したFlashファイルの再生について
-
恐らくこの春にWindows10・Vivaldi両者をアップデートしてから発生するようになった現象なのですが、
Vivaldiに最新のFlashPlayerがインストールされた状態で、ローカルに保存されたswfファイルへのリンクのある、ローカルのhtmlファイルをVivaldiで開くと、
サイト設定でFlashを許可・FlashSettingManagerのグローバルセキュリティ設定タブでhtmlとswfのあるパスを常に信頼する設定にしているにもかかわらず、
「クリックしてAdobeFlashPlayerを有効にします」と表示され、クリックするとアドレスバーに「プラグインがブロックされました」の文字と「ウェブサイト「」はFlashを実行しています」(原文ママ)のポップアップが出現します。
ポップアップに許可と拒否の選択肢がありますが、ここで許可を選んでもクリックして有効の表示が再び出現して、Flashを実行することができません。
この症状が再現性のない所謂「おま環」なのか、Vivaldiの仕様変更なのか、設定に穴があるのかを知りたいです。検索してもこのような症状は上がっておらず、またインターネット上のFlashなら実行できるので不可解で困っています。 -
@maximkisin さん,こんにちは。
すぐに検証などで確認ができない状況(手元に Flash Player をインストールされた環境がない)で検索してみたところ,Flash Player 23 以降ではセキュリティの観点で“ブラウザーを使用してローカルファイルシステムから再生される Flash コンテンツ”のアクセスが制限されているようです。リリースノート | Flash Player
23、AIR
23
Flash Player での local-with-filesystem アクセスをデフォルトで無効化
Flash Player 23 からは、コンパイル時に選択された環境設定にかかわらず、local-with-network 権限がすべてのローカル SWF コンテンツに適用されるようになりました。
上記のため,おそらく現行バージョンの Flash Player ではブラウザ( PPAPI ,NPAPI )に限らずと思われますがローカルファイルシステム上の Flash コンテンツの再生がデフォルトではできないのではないでしょうか?
-
取り急ぎ,Windows 10 Enterprise Evaluation をインストールして Flash Player の旧版 22 ,23 と最新の 29 版,Vivaldi の Stable 最新版で確認しました。
下記画像のように,ローカルファイルが Flash Player のホワイトリストに登録はされているようですが,正常に再生されませんでした。
※もう一点,気になったこともありますので追って追加します。
-
@ivarn (追加事項)
Vivaldi 1.13 までは,Vivaldi のオプション設定・ウェブページの項目に Flash プラグインの項目があったのですが,1.14 以降でなくなっているようです。
おそらくリリース時の情報提供にはあったのだろうと思われますが,私的には Flash Player は使っていなかったため全く記憶しておりません。
Flash Player のサポート自体が後退している状況でもあるため,何等か問題が生じている可能性,あるいは Flash Player 側設定とともにベースブラウザ部分の Chromium 側での設定等も必要になる可能性も考えられるかもしれません。 -
@maximkisin さん
連投になってしまい申し訳ありませんが,何気なく Google Chrome ではどうなのだろう…と試してみたところ,Chrome で Flash コンテンツを含むローカルファイルを開き,動作許可してみると,下記の許可エントリが追加されていました。file:///*
この設定では,ローカルファイルがすべて許可されてしまうと考えられるため,セキュリティの観点では全く許容できない指定形式になってしまっていると考えるのですが,念のため Vivaldi でも同様の設定を行ってから Flash コンテンツを含むローカル HTML ファイルを開いて再確認しました。
そうしたところ,正常に Flash コンテンツが動作しているように見受けられます。
(サンプルが大昔に若気の至りで購入した同人コンテンツの一ファイルのため,どういう動作をするのが正常なのか覚えていないようなもののため,ブロック画面ではなくなった…という確認しかできておりません。)一度,Vivaldi の設定画面ではなく Chroimum の設定画面から,Flash コンテンツの許可設定(ホワイトリスト)に“ file:///* ”を設定して動作確認をいただけるでしょうか。
[設定方法]
※当方の環境では,直接アドレス欄に vivaldi://settings を入力して開くと,Vivaldi の設定画面がタブに開かれてしまいます。
そのため,まず vivaldi://vivaldi-urls でいわゆる about:about 画面を開いたうえで,一覧にある vivaldi://settings のリンクをたどっていただくと,Chromium の設定画面に入れます。- アドレス欄に vivaldi://vivaldi-urls と入力し,移動( Enter キー入力)します。
- List of Vivaldi URLs 画面より,vivaldi://settings のリンクをクリックして移動します。
- Chromium の設定画面が開きますので,ページ下部の“詳細設定”をクリックして展開します。
展開された内容の“プライバシーとセキュリティ”の括りにある“コンテンツの設定”をクリックします。 - “コンテンツの設定”画面に遷移しますので,“ Flash ”をクリックします。
- “許可”の項目右端にある“追加”をクリックし,“ file:///* ”を追加します。
-
ついでに,Google Chrome 側でも挙動確認を行ってみたのですが,Chrome の場合にはローカル HTML で Flash コンテンツの再生許可を求められる際にそもそも“ file:/// ”に許可を与えてよいかと問いかけされていました。
そのため,ホワイトリストには“ file:///* ”が設定されます。
試しに,Chrome の設定画面からホワイトリストにローカル HTML ファイルの設定(例 file:///H:/Test/temp/Sample/data/html/01p.htm )を追加して動作確認してみたところ,“クリックして...有効にします”表示がされました。Vivaldi そのものの問題ではなさそうに思われますが,“ file:///* ”でないとローカル HTML 上の Flash コンテンツ許可のホワイトリストが機能しないのは問題ではないでしょうか。
-
早速の検証と回答ありがとうございます。実は私の再生しようとしたのも数年前の同人コンテンツでした。
私の環境でもfile:///*をホワイトリストに入れることで動作することを確認できました。そもそもFlashが古い規格ではありますがセキュリティもへったくれもないですね……Vivaldi1.14では再生できた記憶があるため、vivaldi側の1.15からの仕様なのかもしれません。
vivaldi://settingsと入れるとvivaldiのタブに通常の設定画面が広げられてしまいますが、vivaldi-urlsを経由する以外にもchrome://settingsで手軽にアクセスできます。
私が主に気にしていた、ウェブ経由でアクセスできるFlashの設定(http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager.html)の、Global Security Settings panelタブで許可を与えることでできるのは、ローカルで再生するFlashが他のローカルパスやサイト上のファイルへのアクセスのようです。
Flash素人なので今回再生しようとしたFlash群のファイル構成からの憶測に過ぎませんが、1つのswfファイルが他のswfファイルを呼び出して実行するような環境においては、chromium設定画面からのホワイトリスト設定を行ったうえでこのアクセス許可に対象のファイルパスを追加することで、完全に動作するようになるみたいです。
ただ、Windows環境に限れば、InternetExplorer上で先程のGlobal Security Settings panelタブを行うだけで簡単に実行できるため、vivaldi等のデフォルトで使っているブラウザでのFlashローカル実行はブロックしたまま、必要な時だけInternetExplorerで再生する、という手も大いにありそうです。
複数環境を用意してまで検証してくださり、「動いていたはず」という曖昧な記憶にばかり頼る自分の浅はかさが恥ずかしいです。本当にありがとうございました。
-
Aahojo moved this topic from 質問・相談・議論 on