[過去ログ]
【PHP】下らねぇ質問はここに書き込みやがれ 12 (1002レス)
【PHP】下らねぇ質問はここに書き込みやがれ 12 http://mevius.5ch.net/test/read.cgi/tech/1619667579/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
504: デフォルトの名無しさん (ワッチョイ 7108-8Xcr) [sage] 2021/07/28(水) 10:44:10 ID:5Wbud5da0 >>485 関連レスをザッとだけ読んだけど、スレ回答者の中にもおかしな事を言ってるやつはわりといる いちいち指摘してたらキリないから割愛するが、スレ回答者の皆が実務経験豊富なプロってわけじゃないからなぁ… でもお前さんも、自分が「思い込みが激しくて頭が固いタイプ」だって事は自覚しよう rssの質問のときも、print_r($rss); とするだけで理解できる筈の事を理解できず、質問を繰り返してたでしょ? だからスレが荒れるんだよ? 分かる? http://mevius.5ch.net/test/read.cgi/tech/1619667579/504
505: デフォルトの名無しさん (ワッチョイ 7108-8Xcr) [sage] 2021/07/28(水) 10:44:53 ID:5Wbud5da0 >>485 で、元の質問は>>453でしょ? 画像を出力するコードの中にHTMLを出力すれば、意図した結果にならないのは当たり前 普通は「画像出力専用のPHP」を用意してこうやる <img src="output_image.php?id=12345"> そして「HTMLを出力するPHP」の中で下記のようにすればいいだけ <html> <body> <img src="output_image.php?id=12345"> </body> こういう発想ができないのは、頭が固い証拠 どうしても1つのPHPファイルの中で、画像の出力とHTMLの出力とを同時に行いたい場合はこうする echo '<img src="data:image/jpeg;base64,' . base64_encode(file_get_contents('img/abc/123.jpg')) . '">'; 要するに、画像(バイナリデータ)をbase64でエンコードし「文字列(テキストデータ)として出力」すればいい(インラインイメージと呼ぶ) これに「セキュリティ的な意味はほぼない」ので、勘違いしないよう インラインイメージで画像を出すかどうか?ってだけ まぁこんな事をやってもメリットなんか無いから、普通は「画像出力専用のPHP」を用意する http://mevius.5ch.net/test/read.cgi/tech/1619667579/505
506: デフォルトの名無しさん (ワッチョイ 7108-8Xcr) [sage] 2021/07/28(水) 10:46:52 ID:5Wbud5da0 >>485 >>505に書いたoutput_image.phpの仕様がもし output_image.php?path=img/abc/123.jpg のように、画像のパスを渡したらその内容をそのまま表示するとなっていた場合、「パストラバーサル」と呼ばれる脆弱性が発生する危険性がある 例えば、pathの値が「img/../../../secret.txt」だった場合、意図せずsecret.txtの中身が第三者に読まれてしまうって事ね だから、そうならないようpathの値をしっかりチェックしないといけないのだけど、一連の質問を見ている感じ、あなたにそれを自前でやるのは無理だと思う なので、「ファイルパスを渡す」のではなく、最初の例のように「画像を識別できるIDを渡す」ようにすればいい ※?path= で値を受け取るPHPをインターネット上に公開し、ログを取ってみるといい ※笑うぐらい攻撃があちこちから飛んでくるのが確認できるから http://mevius.5ch.net/test/read.cgi/tech/1619667579/506
507: デフォルトの名無しさん (ワッチョイ 7108-8Xcr) [sage] 2021/07/28(水) 10:50:19 ID:5Wbud5da0 >>485 最後に アップロード処理が管理者にしかできない = 第三者に変なファイルをアップされる心配がないのであれば、 <img src="img/abc/123.jpg"> で別にええのよw img/abc/123.jpg というファイルパスを第三者に知られたくないなら、>>505の例のように「間にPHPをかまして出力」すれば良いってだけ 逆に、第三者に変なファイルをアップされる心配があるのであれば、「アップロード処理の際に(出力の時ではなく)」厳密なチェック処理をしないとダメ それについては、>>466さんも紹介してくれている https://qiita.com/mpyw/items/939964377766a54d4682 を読めばいい ・第三者が自由にファイルがアップロードできる ・アップロード処理の際に上記のようなチェック処理ができてない ・アップロードされたファイルへ第三者がアクセスできる 3つの条件を満たしているとセキュリティ的にヤバいよねってだけ 例えば、「任意のファイルを自由に読み書きできるPHPファイル」をアップロードしそれがそのまま実行できたらヤバいでしょ? 分かる? http://mevius.5ch.net/test/read.cgi/tech/1619667579/507
510: デフォルトの名無しさん (ワッチョイ 7108-8Xcr) [sage] 2021/07/28(水) 16:52:40 ID:5Wbud5da0 >>476 ゴミレスに埋もれて気づかなかったw PHPの記述を exec('ipconfig', $message); ↓ exec('chcp 932 | ipconfig', $message); に変えたら上手くいくと思う 932はCP932(SJIS)の事ね http://mevius.5ch.net/test/read.cgi/tech/1619667579/510
511: デフォルトの名無しさん (ワッチョイ 7108-8Xcr) [sage] 2021/07/28(水) 16:54:11 ID:5Wbud5da0 >>479 error_reporting(E_ALL); ini_set('display_errors', 1); $url = "https://f.irbank.net/files/8700/fy-profit-and-loss.json"; $json = file_get_contents($url); var_dump($json); ってやったらどうなる? string(1676) "{"meta":{"type":"\u696d\u7e3e","item":{"\u5e74\u5ea6":["\u58f2\u4e0a\u9ad8",… みたいなレスポンスが返ってこない? とりあえず↓の行は要らんでしょ $json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); >>481 関係ない PHPのバージョンぐらいは書いた方がいいが http://mevius.5ch.net/test/read.cgi/tech/1619667579/511
514: デフォルトの名無しさん (ワッチョイ 7108-8Xcr) [sage] 2021/07/28(水) 22:44:28 ID:5Wbud5da0 >>512 MIMEのチェックが必要なのは、「第三者が」画像の「アップロードをするとき」の話ね 画像を表示させる前にそんなものは要らない > MIMEチェックするのがそんなに難しいことなんですか? PHPでアップロード処理した際、MIMEタイプは $_FILES['hoge']['mime'] に入るんだけど、 それは偽装できる だからその値は信用せず mime_content_type() などで別途チェックしようってこと 当たり前だが、自分しかアップロードしないならそんなチェックはしなくていい つかさ、「自分(管理者)しか画像をアップロードしない」のか それとも「第三者も画像をアップロードする」のか、 まずはそこをハッキリさせるべき だから回答もめちゃくちゃになる http://mevius.5ch.net/test/read.cgi/tech/1619667579/514
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.035s