ファイルのアップロードについてサポートが必要です。私のプロジェクトの1つで、クライアントはファイルタイプの制限なしにファイルのアップロードを許可したいと考えています。しかし、ユーザーは.php、.aspx、.dll、.soなどの実行可能ファイルをアップロードでき、「リモートコード実行」または「スクリプト攻撃」を簡単に実行できると思います。
この問題を解決するには?
この種の問題の最も一般的な解決策は、保存されているファイルにWebサーバーからアクセスできないようにすることです。
これを行う簡単な方法の1つは、ファイルをデータベースに保存し、ディスクに保存しないことです。ただし、何らかのXSSを作成しないように注意する必要があります。ファイルを直接リンクしたり、理想的にはダウンロードしたりしないでください。 Webインターフェースを介してファイルを使用可能にする必要がある場合は、「添付ファイル」のcontent-dispositionヘッダーを使用して、ブラウザーがファイルを解釈しないようにします。
適切なURLルーティングを含む健全なフレームワークを使用します。 WebサーバーがURLに応じて実行可能ファイルにリクエストを送信する代わりに、allリクエストをフレームワークのエントリポイントにリダイレクトし、通常はコントローラーマッピングへのルートに基づいてリクエストを処理します。
つまり、アップロードされたファイルは実行する方法がないため安全です。
Stepheneが述べたように、それを特別なデータベースまたは非excの環境に保存します。承認されたユーザーのみがファイルをアップロードする必要がある場合は、それらの制限を適用し、キャプチャを追加してボットを回避できます。