5

入力タグでaccept属性を使用する方法を知っている人はいますか? 文書化されているのを見ることができますが、w3schoolsは、主要なブラウザーのいずれでもサポートされていないことを示しています。テストでもこれが確認されています。

検証はサーバー側で行う必要があることを知っており、現在それを行っています。しかし、使いやすさのために、ファイル アップロード ダイアログでファイルの種類を制限できるとよいでしょう。

編集:クライアント側のみの検証のセキュリティへの影響を十分に認識しています。サーバー側の検証を削除するつもりはなく、使いやすさを改善する方法を探しています。

4

4 に答える 4

3

ブラウザーが実際に属性を実装しない理由ACCEPTは、MIME タイプの検証が科学であり、ファイル拡張子を読み取るほど簡単ではないためです。MediaWiki で指摘されているように、サーバー側の MIME タイプの検証でさえ難しい場合があります。

http://www.mediawiki.org/wiki/Manual:Mime_type_detection

サーバー側でも MIME タイプを検証しようとすることに注意してください。

于 2009-11-16T18:42:07.257 に答える
3

この属性は、すべての主要なブラウザーでサポートされています。便利なリンクは -- caniuse.com です。

受け入れ属性の w3 学校ブラウザー サポート

acceptHTML属性のブラウザ サポートについて知りたい人に役立つと思います。

于 2017-01-19T04:19:51.847 に答える
1

最も衒学的な理由は、HTML4 仕様で要求されていないことです(強調は私のものです)。

この属性は、このフォームを処理するサーバーが正しく処理するコンテンツ タイプのコンマ区切りリストを指定します。ユーザー エージェント、この情報を使用して、サーバーに送信するファイルを選択するようユーザーに促すときに、適合しないファイルを除外することができます。

オプション機能です。

個人的にはこれを見てみたいです。たとえば、 が指定image/*された場合、ブラウザはユーザーの写真ライブラリをデフォルトの場所として表示し、大きなアイコンを使用できます。text/*ドキュメント フォルダーなどに移動できます。通常、ファイルのアップロードをまったく許可しない iPhone などのモバイル ブラウザーは、フォームが画像を予期しているときに、これを使用してギャラリーを表示できます。必要に応じて、夢中になってスキャナーに接続することもできます。可能性は無限大。

ただし、この機能は一般的には使用されておらず、Web サイトがサポートするものに応じてファイル アップロード ダイアログの動作が異なるため、非常に混乱する可能性があります。

于 2009-11-16T18:52:59.310 に答える
0

このタグをサポートすることは、ブラウザーがローカル リソースの MIME タイプを判別する方法を実装することを意味します。これにより、かなりの量のヒューリスティックが発生し、コード インジェクションやその他の脆弱性にさらされる可能性が生じます。 .

于 2009-11-16T18:44:05.147 に答える