現在、ユーザーは好きなようにファイルをアップロードできます。したがって、アップロードされたファイルには、スペースや文字などがß, ü
含まれます。他のユーザーよりもこれらのファイルをダウンロードできます(URLの空白などを含む)。このように機能しますが、RFC1738-Uniform Resource Locator(URL)によると、英数字[a-zA-Z0-9]
と一部の特殊/予約文字のみが許可されます。また、空きスペースは避けるべきだと思います。
現在、サーバー上のファイル名にß
aが含まれています。ß
ファイルをダウンロードしたいユーザーは、MySQLデータベース(utf8_unicode_ci)から正しい文字(ß)を取得するため、サーバー上でファイルを見つけることができます。
- ファイル名を処理する正しい方法は何ですか?
- ファイル名をチェックしてアップロードを禁止する必要がありますか?
- ユーザーのアップロード後にサーバー上のファイルの名前を変更する必要がありますか(たとえば、、、
str_replace()
...urlencode()
)?