質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1520閲覧

PHP .webpのアップロードの危険性はありますか?

ahk

総合スコア19

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

2クリップ

投稿2021/01/05 01:39

前提・実現したいこと

だれでもできるファイルアップロードで、
.webpを許可することに何か危険性は生まれますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

拡張子.webpに対して、Content-Type: image/webpが設定される必要があります。もしこれがないと画像として表示されないので大丈夫だとは思いますが、仮に設定がない場合は、中身がHTMLのファイルを.webpでアップロードされるとクロスサイトスクリプティング脆弱性になります。

それ以外では、.webp固有の問題はないと思います。
しかし、webpを許可するか否かに関わらず、誰もがファイルをアップロードできること自体がかなり危険です。詳しくは下記の本(拙著)などで勉強してください。

体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践

投稿2021/01/05 03:58

ockeghem

総合スコア11705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

拡張子は結局は単なる文字列でしかないとも言えるので、そういう名称で実行ファイル(exeなど)がアップロードされれば、あとはそのアップロードされた実行ファイルに好き放題される可能性はあります。

なので、バリデーションや例外処理を用いて、意図せぬファイルのアップロードを防ぎます。

記事としては少し前のものですが、考え方はおさえておくべきものです↓
ファイルアップロードの例外処理はこれぐらいしないと気が済まない

投稿2021/01/05 01:50

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ahk

2021/01/05 01:58

ファイルのバイナリデータから画像形式を検出する何かがあるのかと思いましたが、 単に文字列(ファイル名)のチェックを行ってるんですね
m.ts10806

2021/01/05 02:12 編集

コードや説明をよく読んでください。 mime_content_type()でファイルの情報を取得したりしています。 私は質問内容から「質問者は何も知らない(調べてない)前提」で回答しました。今日登録されたユーザーでこれが初めての質問。情報が全くないのです。 バイナリデータなど含めて知っていることがあるのなら、予め書いておいてください。書いてあることしか伝わらないので。 何かを知っていたり調べていたり試していたり、しているかしないかでアドバイスの方向性や角度が全く違ってきます。
ahk

2021/01/05 02:15

見落としてました、申し訳ありません 私は何も知りません 私の聞きたかった内容は「webpファイル自体の危険性について」だったので 言葉足らずで申し訳ありません
m.ts10806

2021/01/05 02:24

「バイナリデータ」という言葉が出た時点で何も知らないとは思えませんが、いずれにしても「PHP」は直接関係ないですね。 「セキュリティー」のタグをつけたほうが良いでしょう。 質問は編集できます。今からでも「やりたいこと」以外にも「質問前に調べたこと」「試したこと」を追記して精査すると、もっと良い回答がつくかもしれません。 頻度はともかく、私が提示した記事の作者やそこでコメントしている方の中にもteratailユーザーはいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問