アカウント名:
パスワード:
お金が絡むシステムだとバージョンを含めてブラウザを限定する必要があることがあります。
何故、UserAgentで制限する必要があるかといいますと、未知のブラウザでは正常動作が保証できないからです。
それでどんな問題が生じたかというと、過去に弊社が関わっていたシステムで生じた分かりやすい問題としては、過去に主要ブラウザにて JavaScript の confirm や alert を複数回出すと、「今後ダイアログボックスを生成しない」のようなチェックボックスが現れ、それにユーザがチェックを入れるとダイアログ等が表示されなくなる問題がありました。
しかも、当時は主要ブラウザの間で当該チェックボックスをチェックした際の挙動が異なり、confirm で自動的に false になるブラウザと true になるブラウザが混在するという大問題でした。
# ちなみに、最新版のGoogle Chromeではこういったチェックボックスは表示されなくなり、無限アラートの作成が可能に戻りました。
弊社の開発したシステムでは、このconfirm や alertで重要事項を告知して、ユーザに確認を求めていました。このブラウザの自動アップデートのせいで、「○○とは聞いていなかった」とか「間違えって○○をタップしたら確認画面も表示されずにトランザクションが実行されたので返金しろ」とか苦情が来て、返金等の対応をせざるを得なくなりました。重要事項はアラートだけで表示していたわけではないものの、電子消費者契約法における誤操作防止の確認画面や消費者契約法における重要事項の告知といった機能をもっていたアラートだったからです。
このようにブラウザによって重大な変更が勝手にされることもあるので、この事件のあとは、UserAgentの限定に加えて、新しいブラウザのβ版が出るたびの検証作業が必要になりました。
J-STAGEがTLS仕様に反した変更を行ったせいでFirefoxから接続できなくなった件を思い出した。
科学技術振興機構の電子ジャーナルプラットフォーム「J-STAGE」では未だにFirefoxが非推奨https://it.srad.jp/story/18/12/16/0458254/ [it.srad.jp]
そろそろ推奨ブラウザとか推奨バージョンとかやめる頃合いなんじゃないかな。
ブラウザ側が独自の拡張機能付けたり勝手に挙動や仕様変えるようなことするのも問題かとウェブ開発側とブラウザ開発側で合議して仕様決めて、仕様外の挙動を一切認めないモードを作るぐらいしないとブラウザ判別、バージョン確認の需要は無くならないだろう
じゃないとJavaScriptを使わず処理は全てサーバー側で行うか、全てのウェブブラウザを禁止にして自ら開発したアプリを使わせる仕様にするかしないと責任持てないかと
そもそも、システムを開発した当時はW3C全盛期で、DTDもHTML 4.01 Transitionalを宣言していたんですよそのJavaScriptの動作がブラウザのアップデートで勝手にWHATWGの仕様になったわけですね
JavaScriptが動作しない環境への配慮が必要なのは当時でもそうでしたがconfirmやalertが素通り(表示されず)に、trueが返されるるというのは当時としては完全に予想外の動作です
HTML 4.01 の時代に、「将来はアラートを複数回表示させると今後表示しないというチェックボックスが出現するかもしれない」なんて未来の予測はほぼ不可能です
2000年に勧告された XHTML ではないってことはそれ以前かな?すると WHATWG もなかった時代の話で責任はないな
こういちいち突っかかる言い方をする奴がスラドをつまらなくする。
お前の価値観じゃん。こういう自分の価値観を人に押し付ける奴が、この世界をつまらなくする。
お前の価値観じゃん。
お前の価値観じゃん。こういう個人化、相対化を人に押し付ける奴が、この世界をめんどくさくする。
#こういう再帰構造を提示したくて書いたんだ。#思い通りに動いてくれてありがとねw
ここまで問題になってるのに根本のUIを直さずにUAで制限するという明後日の対応になるのが逆にすごい。
典型的な国産粗悪品ですわほんと
そりゃ期間の問題でしょ取り急ぎの対応としてはUA制限は確実性が高い
これがスラド名物、書かれてないことを読み取れるエスパーでございます。
複数回のalertが無視できるようになってたのはChromeからのユーザー離れを防ぐためだろそれを重要な所に持ってくる反顧客設計が本番環境に出てしまうこと自体が開発体制として問題アリだと思う
複数回のalertが無視できるようになってたのはChromeからのユーザー離れを防ぐためだろ
Chromeの複数回のalertやconfirmが無視できる機能は、結局害の方が大きかったので廃止になりました。Googleはこのように機能を追加したり削除したりとユーザをまるで実験台のように使用しているだけであって、ユーザ離れを防ぐ効果は無いでしょう。
ユーザビリティからしてもalertやconfirmが表示されたままの状態でタブを切り替えたり閉じたりできれば問題ありませんでした。また、alertやconfirmを無視することで、Webサイトが機能不全になるだけでなく、ループが含まれる場合にJavaScriptの処理が無限ループしてCPUを消費してOS全体が重くなる場合まであり、弊害があまりにも大きかったのです。
このようにブラウザによって重大な変更が勝手にされることもあるので、
とか言っておきながらUserAgentは不変と思い込んでいるのがなんとも。大体IEですら当初からMozillaと偽装してた代物。UserAgentでブラウザ識別出来ると考える奴はシステム設計しちゃダメだわ。
こういうサイトがあるからこっちはUA偽装しなきゃいけないわけで
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
お金が絡むシステムだとバージョンを含めてブラウザを限定する必要があることもある (スコア:0, 興味深い)
お金が絡むシステムだとバージョンを含めてブラウザを限定する必要があることがあります。
何故、UserAgentで制限する必要があるかといいますと、未知のブラウザでは正常動作が保証できないからです。
それでどんな問題が生じたかというと、過去に弊社が関わっていたシステムで生じた分かりやすい問題としては、
過去に主要ブラウザにて JavaScript の confirm や alert を複数回出すと、
「今後ダイアログボックスを生成しない」のようなチェックボックスが現れ、それにユーザがチェックを入れるとダイアログ等が表示されなくなる問題がありました。
しかも、当時は主要ブラウザの間で当該チェックボックスをチェックした際の挙動が異なり、confirm で自動的に false になるブラウザと true になるブラウザが混在するという大問題でした。
# ちなみに、最新版のGoogle Chromeではこういったチェックボックスは表示されなくなり、無限アラートの作成が可能に戻りました。
弊社の開発したシステムでは、このconfirm や alertで重要事項を告知して、ユーザに確認を求めていました。
このブラウザの自動アップデートのせいで、「○○とは聞いていなかった」とか「間違えって○○をタップしたら確認画面も表示されずにトランザクションが実行されたので返金しろ」とか苦情が来て、返金等の対応をせざるを得なくなりました。
重要事項はアラートだけで表示していたわけではないものの、電子消費者契約法における誤操作防止の確認画面や消費者契約法における重要事項の告知といった機能をもっていたアラートだったからです。
このようにブラウザによって重大な変更が勝手にされることもあるので、この事件のあとは、UserAgentの限定に加えて、新しいブラウザのβ版が出るたびの検証作業が必要になりました。
Re:お金が絡むシステムだとバージョンを含めてブラウザを限定する必要があることもある (スコア:2, 参考になる)
悪いのはブラウザじゃなくて仕様書を確認しなかった君
Re: (スコア:0)
J-STAGEがTLS仕様に反した変更を行ったせいでFirefoxから接続できなくなった件を思い出した。
科学技術振興機構の電子ジャーナルプラットフォーム「J-STAGE」では未だにFirefoxが非推奨
https://it.srad.jp/story/18/12/16/0458254/ [it.srad.jp]
そろそろ推奨ブラウザとか推奨バージョンとかやめる頃合いなんじゃないかな。
Re: (スコア:0)
ブラウザ側が独自の拡張機能付けたり勝手に挙動や仕様変えるようなことするのも問題かと
ウェブ開発側とブラウザ開発側で合議して仕様決めて、仕様外の挙動を一切認めないモードを作るぐらいしないとブラウザ判別、バージョン確認の需要は無くならないだろう
じゃないとJavaScriptを使わず処理は全てサーバー側で行うか、
全てのウェブブラウザを禁止にして自ら開発したアプリを使わせる仕様にするかしないと責任持てないかと
Re: (スコア:0)
そもそも、システムを開発した当時はW3C全盛期で、DTDもHTML 4.01 Transitionalを宣言していたんですよ
そのJavaScriptの動作がブラウザのアップデートで勝手にWHATWGの仕様になったわけですね
JavaScriptが動作しない環境への配慮が必要なのは当時でもそうでしたが
confirmやalertが素通り(表示されず)に、trueが返されるるというのは当時としては完全に予想外の動作です
HTML 4.01 の時代に、「将来はアラートを複数回表示させると今後表示しないというチェックボックスが出現するかもしれない」なんて未来の予測はほぼ不可能です
Re: (スコア:0)
2000年に勧告された XHTML ではないってことはそれ以前かな?
すると WHATWG もなかった時代の話で責任はないな
Re: (スコア:0)
こういちいち突っかかる言い方をする奴がスラドをつまらなくする。
Re: (スコア:0)
こういちいち突っかかる言い方をする奴がスラドをつまらなくする。
お前の価値観じゃん。
こういう自分の価値観を人に押し付ける奴が、この世界をつまらなくする。
Re:お金が絡むシステムだとバージョンを含めてブラウザを限定する必要があることもある (スコア:2)
お前の価値観じゃん。
こういう個人化、相対化を人に押し付ける奴が、この世界をめんどくさくする。
Re: (スコア:0)
お前の価値観じゃん。
こういう個人化、相対化を人に押し付ける奴が、この世界をめんどくさくする。
お前の価値観じゃん。
#こういう再帰構造を提示したくて書いたんだ。
#思い通りに動いてくれてありがとねw
Re:お金が絡むシステムだとバージョンを含めてブラウザを限定する必要があることもある (スコア:1)
ここまで問題になってるのに根本のUIを直さずにUAで制限するという明後日の対応になるのが逆にすごい。
Re: (スコア:0)
典型的な国産粗悪品ですわほんと
Re: (スコア:0)
そりゃ期間の問題でしょ
取り急ぎの対応としてはUA制限は確実性が高い
Re: (スコア:0)
これがスラド名物、書かれてないことを読み取れるエスパーでございます。
Re: (スコア:0)
複数回のalertが無視できるようになってたのはChromeからのユーザー離れを防ぐためだろ
それを重要な所に持ってくる反顧客設計が本番環境に出てしまうこと自体が開発体制として問題アリだと思う
Re:お金が絡むシステムだとバージョンを含めてブラウザを限定する必要があることもある (スコア:1)
複数回のalertが無視できるようになってたのはChromeからのユーザー離れを防ぐためだろ
Chromeの複数回のalertやconfirmが無視できる機能は、結局害の方が大きかったので廃止になりました。
Googleはこのように機能を追加したり削除したりとユーザをまるで実験台のように使用しているだけであって、ユーザ離れを防ぐ効果は無いでしょう。
ユーザビリティからしてもalertやconfirmが表示されたままの状態でタブを切り替えたり閉じたりできれば問題ありませんでした。
また、alertやconfirmを無視することで、Webサイトが機能不全になるだけでなく、ループが含まれる場合にJavaScriptの処理が無限ループしてCPUを消費してOS全体が重くなる場合まであり、弊害があまりにも大きかったのです。
Re: (スコア:0)
このようにブラウザによって重大な変更が勝手にされることもあるので、
とか言っておきながらUserAgentは不変と思い込んでいるのがなんとも。
大体IEですら当初からMozillaと偽装してた代物。
UserAgentでブラウザ識別出来ると考える奴はシステム設計しちゃダメだわ。
Re: (スコア:0)
こういうサイトがあるから
こっちはUA偽装しなきゃいけないわけで