[過去ログ]
【PHP】下らねぇ質問はここに書き込みやがれ 12 (1002レス)
【PHP】下らねぇ質問はここに書き込みやがれ 12 http://mevius.5ch.net/test/read.cgi/tech/1619667579/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
440: デフォルトの名無しさん (ワッチョイ fd1d-6Mb1) [sage] 2021/07/12(月) 17:49:52.30 ID:ZPBMd6Y/0 >>439 コラコラ http://mevius.5ch.net/test/read.cgi/tech/1619667579/440
441: デフォルトの名無しさん (スププ Sd43-pM4a) [] 2021/07/12(月) 22:17:47.32 ID:SYagZpGJd アップロードされた画像をconstで定義されてるパス先に移動させたいんですが上手く出来ないので教えてください move_uploaded_file($upload_file['tmp_name'],DIR_IMG.$new_file_name); DIR_IMGには相対パスが入ってます('../img/など) http://mevius.5ch.net/test/read.cgi/tech/1619667579/441
442: デフォルトの名無しさん (ワッチョイ a37c-C4NE) [sage] 2021/07/13(火) 13:02:35.06 ID:I15vJP3h0 そもそもアップロードされたファイルなのかどうか is_uploaded_file()でチェック出来る そうじゃないならrename()使え その相対パスあってる? realpath()で確認してみる 相対パスがあってたとして、パーミッションチェックした? http://mevius.5ch.net/test/read.cgi/tech/1619667579/442
443: デフォルトの名無しさん (ワッチョイ 2342-6Mb1) [] 2021/07/14(水) 19:07:13.52 ID:dWCeWde70 $fruits = array( 'banana' => 'yellow', 'apple' => 'red', ); $coffee = 'cocacolla:geogia'; function morning($fruits,$coffee) { $fruits['strawberry'] = 'red'; $coffee = 'suntory=boss'; return $fruits; } $fruits = morning($fruits,$coffee); var_dump($morning); echo '<br>'.$coffee; ?> すいません。 phpでは、他の言語のように、関数外で定義された変数も 関数内では有効ではないのですね。。 で、関数外で定義された変数は、引数で受け取り、 returnで返すと、有効になることもわかりました。 =という認識であっていますか? では、更新したい変数が2つあった場合どのようにすればいいでしょうか? たとえば、上でいうところの$coffeeを更新したいのです。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/443
444: デフォルトの名無しさん (ワッチョイ 2342-6Mb1) [] 2021/07/14(水) 19:09:54.91 ID:dWCeWde70 訂正::すいません。 ×var_dump($morning); 〇var_dump($fruits); http://mevius.5ch.net/test/read.cgi/tech/1619667579/444
445: デフォルトの名無しさん (ワッチョイ a37c-C4NE) [sage] 2021/07/14(水) 19:40:05.21 ID:b60WN8TB0 グローバル変数なら別にスコープ関係無い筈だがそれ前提は設計的にどうかと思うので 以下の方法のどちらかを使う方が良いだろう 参照で渡す function test(&$a) { $aへの代入は関数で渡した変数に及ぶ 別にreturnする必要は無い } 複数の結果をリターンする function test2() { return [1,2]; } list($a,$b) = test(); $aと$bに結果が入る http://mevius.5ch.net/test/read.cgi/tech/1619667579/445
446: デフォルトの名無しさん (ワッチョイ 2342-6Mb1) [] 2021/07/14(水) 20:25:55.80 ID:dWCeWde70 よくわかりました。 関数外に変数を定義したからといって、 global変数になるわけじゃないんですね。 ありがとございました。 参照渡しか、global変数の定義か、どちらかでやっていきます。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/446
447: デフォルトの名無しさん (ワッチョイ 852c-KGMb) [sage] 2021/07/15(木) 00:16:59.54 ID:gFOIdhYR0 Ruby も珍しく、厳格な関数スコープ。 関数外の変数を、関数内で参照できない 引数渡しか、クラス・モジュール化して使うなどする http://mevius.5ch.net/test/read.cgi/tech/1619667579/447
448: デフォルトの名無しさん (ワッチョイ 0d08-6wWl) [sage] 2021/07/15(木) 14:33:47.08 ID:Hy5PN9MF0 >>446 まず「スコープ」という概念について勉強しよう https://www.php.net/manual/ja/language.variables.scope.php それが理解できたら次は「グローバル空間」について https://www.php.net/manual/ja/language.namespaces.global.php それが理解できたら次は「名前空間」について https://www.php.net/manual/ja/language.namespaces.php 今は野球のルールを知らないのに野球やってる状態 PHPマニュアルは優秀だから大抵の事は書いてある 最低限のルールは覚えよう http://mevius.5ch.net/test/read.cgi/tech/1619667579/448
449: デフォルトの名無しさん (ワッチョイ 0d08-6wWl) [sage] 2021/07/15(木) 14:39:40.15 ID:Hy5PN9MF0 >>441 その質問には超能力者しか答えられない とりあえず、以下を参考にエラーを出力させよう https://qiita.com/fallout/items/31f793708b243033fab1 次に、そのエラー内容をきちんと読もう 中学レベルの英語力で読めるので そのエラーを読んでも意味が理解できないなら、エラー内容を転載して質問 俺らはエスパーじゃないw http://mevius.5ch.net/test/read.cgi/tech/1619667579/449
450: デフォルトの名無しさん (ワッチョイ e3a7-wTJ1) [sage] 2021/07/15(木) 20:53:46.77 ID:jGrj3A7F0 >>443 なんとなく設計がよくない気がする $fruits、$coffeeは、別々の関数で処理させて、returnはそれぞれ1つの方がよいと思う 無理にまとめると関数の独立性を損ねるし、それに参照渡しもlist関数も直感的でなく可読性が落ちる http://mevius.5ch.net/test/read.cgi/tech/1619667579/450
451: デフォルトの名無しさん (ワッチョイ 5a42-E0YB) [] 2021/07/17(土) 05:15:45.31 ID:YBqRFemK0 >>449 妙にしっくりきます。 長年ソフトボールに慣れ親しんで、 野球も似たようなもんだろ。って参加したら 両者の違いにやっと気づいて、苦悶する状態w http://mevius.5ch.net/test/read.cgi/tech/1619667579/451
452: デフォルトの名無しさん (ワッチョイ 5a42-E0YB) [] 2021/07/17(土) 05:18:10.65 ID:YBqRFemK0 >>449ではなくて>>448 すまそ。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/452
453: デフォルトの名無しさん (オッペケ Sr75-VsZy) [] 2021/07/17(土) 18:21:09.31 ID:ohkviaGsr 指定画像を出力したうえでメニューを作りたい <php header('Content-Type: image/jpg'); readfile('uploads/2021/07/7mgpH3K.jpg'); > で画像の取得はできたのですが、 html文を続けて出力するとエラー php文を続けても画像しか表示されません。 おそらく器しかなく受け皿のhtmlがないので画像ファイルとして認識されてしまっているのが原因だと思います。 <php header('Content-Type: image/jpg'); readfile('wp-content/uploads/2021/07/7mgpH3K.jpg'); > のあとに続けて画像 画像 メニュー 画像とへっだーナビ風に<table>にしたい場合どうすればよいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/453
454: デフォルトの名無しさん (オッペケ Sr75-VsZy) [] 2021/07/17(土) 18:25:44.28 ID:ohkviaGsr 画像が画面いっぱいに表示されるということは別のファイルに出力するということですかね、 複数表示してcssを付与するのはどうすればよいのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/454
455: 蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdfa-rTLR) [sage] 2021/07/17(土) 18:54:11.12 ID:UtbSZ1Qtd htmlの中にtable出力、その中でimg要素をsrc属性を付けて複数指定する。ブラウザはsrc属性付きのimgのイメージを自動的に読み込む。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/455
456: デフォルトの名無しさん (オッペケ Sr75-VsZy) [] 2021/07/17(土) 20:16:21.59 ID:ohkviaGsr >>455 すみません、過去の質問を頼りに画像出力について検索したのですが、https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1344620588 PHPで画像データを読み込んで出力する場合は、IMGタグを <IMG src="ooo.php?img=gazou.png"> PHPは if($_GET['img']){ print file_get_contents($_GET['img']); exit(); } のようにします。 とありますが、<img src="img.php?img=uploads/2021/07/7mgpH3K.jpg">で img.phpの中のuploads/2021/07/7mgpH3K.jpgを出力するとしても画像が出力できません。 何が原因でしょうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/456
457: 蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdfa-rTLR) [sage] 2021/07/17(土) 21:00:58.68 ID:UtbSZ1Qtd >>456 スラッシュをエスケープするにしてもその書き方は任意のパス名を受け入れるから危険だよ。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/457
458: デフォルトの名無しさん (アウアウクー MM35-VsZy) [] 2021/07/17(土) 21:34:37.90 ID:OaBiTcJcM >>457 画像を呼び出す場合<img src="/header_image.php">のようにphpスクリプトを呼び出して、そのphpスクリプトが画像データを返すようにすべきです。 と言われたのですがほかに方法はあるのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/458
459: デフォルトの名無しさん (ワッチョイ 552c-0PSu) [sage] 2021/07/17(土) 21:38:04.55 ID:xmQE+uIu0 <img src="img.php?img=uploads/2021/07/7mgpH3K.jpg"> じゃなくて、 <img src="uploads/2021/07/7mgpH3K.jpg"> じゃないの? まあでも、ユーザーから送られたものを、チェック無しに、そのまま使うのは危険! そこに、色々なファイルパス・命令などを入れてくる http://mevius.5ch.net/test/read.cgi/tech/1619667579/459
460: 蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdfa-rTLR) [sage] 2021/07/17(土) 22:23:28.15 ID:UtbSZ1Qtd パス名じゃなくてもっと制限された情報を渡す。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/460
461: デフォルトの名無しさん (オッペケ Sr75-VsZy) [] 2021/07/18(日) 12:58:29.71 ID:VnC3iq6Ar >>459 >>460 ユーザーからおくられたものではなく自身のサイトのサーバーに置いた画像を指定して任意の場所に表示させ、メニューを作りたいんですがその場合 <img src="uploads/2021/07/7mgpH3K.jpg">でいいのでしょうか? <table>にして画像 画像 メニュー メニュー 画像としたいんですが、phpを使わなければならないと勝手に認識してるんですが http://mevius.5ch.net/test/read.cgi/tech/1619667579/461
462: デフォルトの名無しさん (ワッチョイ 0563-kbnc) [sage] 2021/07/18(日) 13:23:08.70 ID:A0aXocf00 HTMLでアクセス可能なPathなら、だが ハッキングされそうで怖いな http://mevius.5ch.net/test/read.cgi/tech/1619667579/462
463: デフォルトの名無しさん (ワッチョイ 9a7c-xL6t) [sage] 2021/07/18(日) 14:04:59.57 ID:fBmvBk7Y0 そもそもアップロード先フォルダだとしてそれをそのまま公開するのは頭がおかしい PHP以前の問題 本来ならアップロードした時点でファイルを調べて、それでOKであれば (例えばちゃんと画像ファイルなのかどうか等) 公開フォルダへコピーするなりするべきじゃね? http://mevius.5ch.net/test/read.cgi/tech/1619667579/463
464: デフォルトの名無しさん (ワッチョイ 5a84-fEvS) [sage] 2021/07/18(日) 15:55:22.55 ID:Th1fsKvf0 アホばっかりw http://mevius.5ch.net/test/read.cgi/tech/1619667579/464
465: デフォルトの名無しさん (アウアウウー Sa39-hwij) [] 2021/07/18(日) 16:44:58.59 ID:UQ3hWlPAa セキュリティ的に危ないという理由を教えてください 一度サーバーのフォルダにアップしたものを公開するのは危ないのでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/465
466: デフォルトの名無しさん (ワッチョイ f6bb-YmP5) [sage] 2021/07/18(日) 17:23:13.71 ID:ca/UjVuI0 >>465 セキュリティはちゃんと体系的な知識を身につけたほうが良いですよ 一応アップロード系の用語がそれなりに出てくる記事をリンクしておきます https://qiita.com/mpyw/items/939964377766a54d4682 記事中の実装は、今となっては古すぎなので参考になりませんが、用語レベルでは網羅されているかと 入り口の記事として読んでください 外部からアクセスできる場所にアクセス・実行できるファイルを一個置かれただけで、かなりのことができるようになります http://mevius.5ch.net/test/read.cgi/tech/1619667579/466
467: デフォルトの名無しさん (ワッチョイ 5a02-UKwf) [sage] 2021/07/18(日) 19:10:00.86 ID:NSPuFPL00 RubyガイジとWPガイジはスルー推奨 http://mevius.5ch.net/test/read.cgi/tech/1619667579/467
468: デフォルトの名無しさん (ワッチョイ fa5c-fEvS) [sage] 2021/07/18(日) 19:37:42.84 ID:gO2R7Orx0 >>453 header関数で画像データを指定してるんだからhtmlが出力されるわけない 何のためにわざわざheaderなんか指定してるのか不明 HTTPヘッダについて調べた方がいい http://mevius.5ch.net/test/read.cgi/tech/1619667579/468
469: デフォルトの名無しさん (ワッチョイ 552c-NvNM) [sage] 2021/07/18(日) 21:08:39.36 ID:H/NN8O820 セキュリティーは、膨大な種類ある だから皆、Ruby on Rails などのフレームワークを使う。 素の言語では、一生やっても作れない Rails では、サーバーへプロフィール画像をアップロードする、機能がよく出てくる。 画像ファイルの縦横幅の制限、容量の制限、 中身にウイルスがうめこまれていないかチェックするなど、 色々なセキュリティー対策をしないといけない さらにレスポンシブ対応で、様々なサイズに拡大縮小するなど、 OSS のモジュールを使わないと作れない 一々、自分で作っていては、一生掛かる。 Railsなどのフレームワークの勉強をしていない人は、絶対にシステムを作れない 他にも、マスアサインメント・SQL インジェクションとか、 セキュリティーには膨大な種類ある だから、PHP のサイトばかり攻撃されるのは、 セキュリティーを知らない人が作っているから、情報を取りやすい http://mevius.5ch.net/test/read.cgi/tech/1619667579/469
470: デフォルトの名無しさん (アウアウクー MM35-B/F3) [sage] 2021/07/18(日) 21:53:44.27 ID:6mAUoTwKM PHPのフレームワーク使うならLaravelだね http://mevius.5ch.net/test/read.cgi/tech/1619667579/470
471: デフォルトの名無しさん (ワッチョイ 016e-fEvS) [sage] 2021/07/18(日) 22:51:51.23 ID:adePGcGm0 マルチポストには激おこするルビー君 http://mevius.5ch.net/test/read.cgi/tech/1619667579/471
472: デフォルトの名無しさん (ワッチョイ 691d-E0YB) [sage] 2021/07/18(日) 23:11:24.32 ID:g0bWf1Ea0 激おこなんていうJK用語をナチュラルに使いこなしているのがすごい http://mevius.5ch.net/test/read.cgi/tech/1619667579/472
473: デフォルトの名無しさん (ワッチョイ 0563-kbnc) [sage] 2021/07/18(日) 23:42:29.55 ID:A0aXocf00 JK用語なの? おじさん、普通に使ってた http://mevius.5ch.net/test/read.cgi/tech/1619667579/473
474: デフォルトの名無しさん (ワッチョイ 691d-E0YB) [sage] 2021/07/20(火) 01:13:58.90 ID:kSAF0CCr0 アラフォーだけど、使うって感じじゃなくて… ジェネレーションギャップかも http://mevius.5ch.net/test/read.cgi/tech/1619667579/474
475: デフォルトの名無しさん (アウアウクー MM35-VsZy) [] 2021/07/20(火) 17:18:42.82 ID:IgegoDKDM 以前質問させていただいた画像を直接上げてはいけない原因を調べたところ、 誰からもWebサーバを介してファイルにアクセスできないようにしておいて、ファイルの表示はプログラムを使ってアクセス制御をしながら表示する つまり通常Webで画像を表示する場合、imgのsrc属性に画像が置いてあるURLを指定するというのが一般的だと思います。 しかし、画像を置いてあるURLを指定するというのは、画像を表示するためにはそのURLにアクセスできるということを表しています。 そこで画像をbase64化 画像をHTMLやCSSに埋め込める(直接記入出来る)ようにする為に、画像をbase64にエンコードします <php $img = base64_encode(file_get_contents('画像URL')); ?> <img src="data:image/png;base64,<php echo $img; ?>"> 参考URL https://www.tmp1024.com/php-image-showing/ https://9-bb.com/?p=3591 これで大丈夫でしょうか?画像は表示されました。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/475
476: デフォルトの名無しさん (ワッチョイ 058c-p0fO) [] 2021/07/22(木) 13:17:48.55 ID:pnEPB7fm0 質問お願いします。 環境はWindows10でXAMPP7.4.21です。 exec('ipconfig', $message); 上記のPHPに、ブラウザからアクセスした場合、$message[1]が 「Windows IP 構成」と、日本語ですが、 Batファイルで、「c:\xampp\php\php.exe d:\www\test.php」で実行した場合、$message[1]が 「Windows IP Configuration」と、英語です。 PHPが5の時はどちらも日本語だったのですが、XAMPPのアップデートでPHPが7になったらこの現象が起きました。 Batの時にも日本語にするためには、なにをしたら良いでしょうか。 どうぞよろしくお願いいたします。 http://mevius.5ch.net/test/read.cgi/tech/1619667579/476
477: デフォルトの名無しさん (アウアウクー MM35-Hsms) [] 2021/07/22(木) 15:43:09.09 ID:b8/cFbDKM >>463 言ってる意味がおおよそ理解できたのですが。 ・暗号化 可逆な存在 =複合することができる =変換方式が決まっているため、だれでも復元(decode)できる。 可逆な存在といえば「Base64」 エンコード(暗号化)も出来るし、デコード(複合化)もできる。 (でもね、厳密には暗号化=エンコードとは言えないんだよ…) (詳しくはもう少し下で…) 逆に、不可逆な存在といえば「SHA-1」 こっちは複合化することが出来ない。 画像をハッシュ関数化してそれをもとに画像を表示させる方法がわからないんですが、 phpで可能なんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/477
478: デフォルトの名無しさん (アウアウクー MM05-jkzO) [sage] 2021/07/24(土) 10:11:35.97 ID:CXOLw81IM 暗号化と符号化の違いがわからなかった時期が俺にもあったなぁ http://mevius.5ch.net/test/read.cgi/tech/1619667579/478
479: デフォルトの名無しさん (ワッチョイ 1389-1sa8) [] 2021/07/26(月) 09:39:33.21 ID:nRSOkyaR0 質問です。 JSONファイルを読み込もうとしたのですがうまくいきません。 $url = "https://f.irbank.net/files/8700/fy-profit-and-loss.json"; $json = file_get_contents($url); $json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); $arr = json_decode($json, true); http://mevius.5ch.net/test/read.cgi/tech/1619667579/479
480: デフォルトの名無しさん (ワッチョイ 519b-Hgw+) [] 2021/07/26(月) 09:43:24.61 ID:UUQ7nGaW0 うちはできてる http://mevius.5ch.net/test/read.cgi/tech/1619667579/480
481: デフォルトの名無しさん (ワッチョイ 1389-1sa8) [] 2021/07/26(月) 09:51:26.23 ID:nRSOkyaR0 うう…マジか XAMPPのローカル環境だから上手く行かないのだろうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/481
482: デフォルトの名無しさん (ワッチョイ 7bad-0CkY) [] 2021/07/26(月) 10:38:53.43 ID:rdRO2HTr0 せめてエラーログくらい貼りなよ http://mevius.5ch.net/test/read.cgi/tech/1619667579/482
483: デフォルトの名無しさん (ワッチョイ 532c-MYQi) [sage] 2021/07/26(月) 11:26:45.16 ID:DTdYSzy80 全く読めない このファイルは、UTF-8 ではない? http://mevius.5ch.net/test/read.cgi/tech/1619667579/483
484: デフォルトの名無しさん (ワッチョイ 7bad-0CkY) [] 2021/07/26(月) 11:43:48.93 ID:rdRO2HTr0 >>479 レスポンスがbrotliで圧縮されてる そのままブラウザに出力したいだけならContent-Encodingを設定しておくだけ header('Content-Encoding: br'); jsonとして読み込みたいならbrotliのエクステンションをインストールしてからデコードした上でjsonにデコードする http://mevius.5ch.net/test/read.cgi/tech/1619667579/484
485: デフォルトの名無しさん (アウアウクー MM05-KMlg) [] 2021/07/26(月) 20:20:23.98 ID:BzqZLuZJM 1つ聞きたいんですが画像ファイルのセキュリティについてです。 自分の調べた聞いて理解した範囲では画像を<img src="画像URL">で表示するのは、 画像を表示するためにそのURLにアクセスできるので危険 ↓ 画像をbase64にエンコードします デコード(複合化)もできるので意味がほぼないです ↓ サイズとMIMEチェックをして画像を表示させる前に、画像ファイルである事を確認する 必要ならサイズやビット深度を変更する https://teratail.com/questions/350744で聞くと, ファイルをアップロードするのは「サイト運営側」だけであれば問題ありません。 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13246474913で聞くと、 mineチェックとサイズ変更しなさい、 できればアップロード時のファイル名を元のものから変更する、自サイトのページ内に配置された画像としてしかアクセスを禁止するなどしなさい 結局どれが正解なんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/485
486: デフォルトの名無しさん (ワッチョイ 8bbb-OwHR) [sage] 2021/07/26(月) 20:26:04.88 ID:B9v6ZV500 >>485 どのようなリソースをどのような攻撃から守るかの仕様が提示されない以上正解はありません セキュリティポリシーやセキュリティ設計から見直してください 実装を決めるのはその後です http://mevius.5ch.net/test/read.cgi/tech/1619667579/486
487: デフォルトの名無しさん (ワッチョイ 1302-/zz1) [sage] 2021/07/26(月) 20:31:09.20 ID:7+uo32oc0 >>453 >>485 お前のやりたいことはWordpressの管理画面からアップした画像の表示だろ そんなもんのセキュリティ気にして変換する奴なんていねーよ つーかWPスレ池 http://mevius.5ch.net/test/read.cgi/tech/1619667579/487
488: デフォルトの名無しさん (ワッチョイ 8bbb-OwHR) [sage] 2021/07/26(月) 21:10:41.62 ID:B9v6ZV500 >>487 アップロードは常に気をはれよ https://www.youtube.com/watch?v=oh1gyuqdcH8 http://mevius.5ch.net/test/read.cgi/tech/1619667579/488
489: デフォルトの名無しさん (ワッチョイ 1302-/zz1) [sage] 2021/07/26(月) 22:18:00.65 ID:7+uo32oc0 >>488 俺に気をはれと言われましてもw http://mevius.5ch.net/test/read.cgi/tech/1619667579/489
490: デフォルトの名無しさん (オッペケ Sr85-KMlg) [] 2021/07/26(月) 22:31:24.99 ID:nQwBFtLMr >>487 wordpress以外でも同じでしょ? それに管理画面からじゃなくフォルダのディレクトリに置いたファイルの話なんで画像限定じゃないですね phpやcssのファイルでも同様かどうか知りたいです http://mevius.5ch.net/test/read.cgi/tech/1619667579/490
491: デフォルトの名無しさん (オッペケ Sr85-KMlg) [] 2021/07/26(月) 22:44:03.71 ID:nQwBFtLMr 画像ファイルのアップロードの時のセキュリティはwordpress関係なく同じでしょ http://mevius.5ch.net/test/read.cgi/tech/1619667579/491
492: デフォルトの名無しさん (ワッチョイ 1302-/zz1) [sage] 2021/07/26(月) 22:56:31.97 ID:7+uo32oc0 >>491 WPインストールしたらアップロード周りのソース全部読んでセキュリティホール無いことを確認するの? WPで画像表示する時は表示用PHP作ってbase64変換かますの? そして、アップロードする時は常に気をはるの? http://mevius.5ch.net/test/read.cgi/tech/1619667579/492
493: デフォルトの名無しさん (アウアウウー Sa5d-XNQa) [] 2021/07/27(火) 00:25:56.73 ID:eUxCT57wa >>492 そんなことはしませんが、最低限のセキュリティは同じでしょ? base64じゃセキュリティにならないからファイルを関数化して複雑なファイル名にする それプラス最低限のセキュリティ、今回は画像なのでMIMEチェック もし自分以外のユーザーが画像を上げるなら 自サイトのページ内に配置された画像としてしかアクセスを禁止する word pressだからセキュリティは要らないっていうのはおかしいでしょ http://mevius.5ch.net/test/read.cgi/tech/1619667579/493
494: デフォルトの名無しさん (ワッチョイ 1302-/zz1) [sage] 2021/07/27(火) 01:30:32.63 ID:7P6684PB0 >>493 >>487 を読み返してください WPが前提、WPのシステムからアップされたメディアファイルの話し 更に言えば、このスレに住み着いてるWPガイジへのレス(アンカー見ればわかるでしょう)で自分で弄ることが前提 そして事の発端は >>指定画像を出力したうえでメニューを作りたい だからね? >そんなことはしませんが と仰られるように、前のレスの質問にNoと言うことはWPのシステムのセキュリティをある程度信頼してるわけですよね この件ではそれで十分だろうと言う話ですよ セキュリティの一般論の話なんてしてませんよ http://mevius.5ch.net/test/read.cgi/tech/1619667579/494
495: デフォルトの名無しさん (ワッチョイ b963-3Z6B) [sage] 2021/07/27(火) 01:51:04.21 ID:sIvc9ZAG0 ここはPHPの質問をするスレ WPの質問なら移動してください http://mevius.5ch.net/test/read.cgi/tech/1619667579/495
496: デフォルトの名無しさん (ワッチョイ 532c-MYQi) [sage] 2021/07/27(火) 04:39:04.62 ID:x4yitIm80 Word Press の質問は、web制作管理板のスレの方へ移動してください! Laravel のスレも、この板に立てている香具師がいる。 Laravelの質問は、WEBプログラミング板の方へ! http://mevius.5ch.net/test/read.cgi/tech/1619667579/496
497: デフォルトの名無しさん (ワッチョイ d352-DMdn) [sage] 2021/07/27(火) 06:50:44.81 ID:L674X5NC0 >>496 お前が言うな Rubyバカ http://mevius.5ch.net/test/read.cgi/tech/1619667579/497
498: デフォルトの名無しさん (アウアウクー MM05-Cd1h) [sage] 2021/07/27(火) 07:09:26.40 ID:CFpUohJoM WPスレにいる者だが絶対こっち来るなよ ガイジ過ぎて手に負えんわ http://mevius.5ch.net/test/read.cgi/tech/1619667579/498
499: デフォルトの名無しさん (ワッチョイ 7bad-USot) [sage] 2021/07/27(火) 08:14:32.01 ID:SyBbAbx40 質問は>>485であってwordpress関係ないだろ >>487が勝手にwordpressだって決めつけてる 質問も意味不明だけどね、何を聞きたいのか簡潔にしてほしい > つーかWPスレ池 お前がいけよw http://mevius.5ch.net/test/read.cgi/tech/1619667579/499
500: デフォルトの名無しさん (ワッチョイ 2954-p8kO) [] 2021/07/27(火) 09:02:44.68 ID:opDlelu60 るびースレに行ってもらえば万事解決するんじゃないかな http://mevius.5ch.net/test/read.cgi/tech/1619667579/500
501: デフォルトの名無しさん (ワッチョイ 1302-/zz1) [sage] 2021/07/27(火) 09:30:06.62 ID:7P6684PB0 >>458 の質問者は少し前のWPのページネーションの奴だし、そいつは更に前のRSSの奴でもある ってことでこのスレに住み着いてるWPガイジであることは確定なんですわw 何が気に食わないのか知らんけど残念だったねwww https://teratail.com/users/homepage-site#question http://mevius.5ch.net/test/read.cgi/tech/1619667579/501
502: デフォルトの名無しさん (ワッチョイ b37d-5SC8) [sage] 2021/07/27(火) 10:01:53.85 ID:DZV4D5nN0 >>493 セキュリティと権限をごっちゃにしてそう http://mevius.5ch.net/test/read.cgi/tech/1619667579/502
503: デフォルトの名無しさん (エムゾネ FF33-Hgw+) [sage] 2021/07/27(火) 15:53:11.92 ID:Dog97BpdF >>495 ほんそれ http://mevius.5ch.net/test/read.cgi/tech/1619667579/503
504: デフォルトの名無しさん (ワッチョイ 7108-8Xcr) [sage] 2021/07/28(水) 10:44:10.50 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.11 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.30 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.40 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
508: デフォルトの名無しさん (ワッチョイ 0bba-p8kO) [] 2021/07/28(水) 12:52:23.66 ID:9bJDIHUz0 釣り質問にマジレスすんなよアホ http://mevius.5ch.net/test/read.cgi/tech/1619667579/508
509: デフォルトの名無しさん (ワッチョイ 137d-p8kO) [sage] 2021/07/28(水) 12:58:32.36 ID:pYNLf1nF0 釣りレスですしw http://mevius.5ch.net/test/read.cgi/tech/1619667579/509
510: デフォルトの名無しさん (ワッチョイ 7108-8Xcr) [sage] 2021/07/28(水) 16:52:40.91 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.72 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
512: デフォルトの名無しさん (オッペケ Sr85-KMlg) [] 2021/07/28(水) 20:23:13.38 ID:jpPdNADXr >>507 それをあわせてファイルをチェックするのが MIMEチェックをして画像を表示させる前に、画像ファイルである事を確認するってことですよね? 画像をecho '<img src="data:image/jpeg;base64,' . base64_encode(file_get_contents('img/abc/123.jpg')) . '">';で表示して MIMEチェックするのがそんなに難しいことなんですか? http://mevius.5ch.net/test/read.cgi/tech/1619667579/512
513: デフォルトの名無しさん (ワッチョイ b98c-MEjp) [sage] 2021/07/28(水) 21:08:58.35 ID:IWCDcnnv0 >>510 どうもありがとうございます! とても助かりました http://mevius.5ch.net/test/read.cgi/tech/1619667579/513
514: デフォルトの名無しさん (ワッチョイ 7108-8Xcr) [sage] 2021/07/28(水) 22:44:28.91 ID:5Wbud5da0 >>512 MIMEのチェックが必要なのは、「第三者が」画像の「アップロードをするとき」の話ね 画像を表示させる前にそんなものは要らない > MIMEチェックするのがそんなに難しいことなんですか? PHPでアップロード処理した際、MIMEタイプは $_FILES['hoge']['mime'] に入るんだけど、 それは偽装できる だからその値は信用せず mime_content_type() などで別途チェックしようってこと 当たり前だが、自分しかアップロードしないならそんなチェックはしなくていい つかさ、「自分(管理者)しか画像をアップロードしない」のか それとも「第三者も画像をアップロードする」のか、 まずはそこをハッキリさせるべき だから回答もめちゃくちゃになる http://mevius.5ch.net/test/read.cgi/tech/1619667579/514
515: デフォルトの名無しさん (ワッチョイ 532c-MYQi) [sage] 2021/07/29(木) 05:06:26.04 ID:Bm0Z0U0B0 画像データの中に、ウイルスなどを入れてくるかも知れない だから、本当に画像形式なのか、全バイト調べる必要がある http://mevius.5ch.net/test/read.cgi/tech/1619667579/515
516: デフォルトの名無しさん (ワッチョイ 8bbb-OwHR) [sage] 2021/07/29(木) 05:43:31.56 ID:4AVEtKuA0 >>514 > 当たり前だが、自分しかアップロードしないならそんなチェックはしなくていい これ、管理画面からしか画像アップロードを許さないって状況を言ってるんだと思うけど、その場合もちゃんとチェックすべき 他の脆弱性と合わせて管理者権限でアップロードする手口があるので、このへんで手は抜かないほうがいい http://mevius.5ch.net/test/read.cgi/tech/1619667579/516
517: デフォルトの名無しさん (ワッチョイ b93e-H0iZ) [sage] 2021/07/29(木) 09:05:26.98 ID:rmmFdFBh0 自分で変なファイル置いちゃうかもしれんしな http://mevius.5ch.net/test/read.cgi/tech/1619667579/517
518: デフォルトの名無しさん (ワッチョイ 0934-nYep) [] 2021/07/29(木) 09:20:26.22 ID:zpf7CT600 え?お前らSFTPで画像アップロードする時なんかもMIMEタイプのチェックやってるの? 管理者権限奪取されるような状況でMIMEタイプのチェックなんか意味ないだろw http://mevius.5ch.net/test/read.cgi/tech/1619667579/518
519: デフォルトの名無しさん (ワッチョイ b93e-96xQ) [] 2021/07/29(木) 09:39:40.25 ID:rmmFdFBh0 自分WPしらんから適当言ってる http://mevius.5ch.net/test/read.cgi/tech/1619667579/519
520: デフォルトの名無しさん (ワッチョイ 7108-8Xcr) [sage] 2021/07/29(木) 11:01:03.28 ID:CBbl/boe0 >>516 >>453に "wp-content/uploads/2021/07/7mgpH3K.jpg" ってパスがあるからWordPressだよね WordPressの管理画面からアップロードされたファイルは、 デフォのディレクトリ構成なら最終的には wp-content/uploads/ 以下の「公開ディレクトリ」に置かれる なのでWordPressへその画像が表示される際も <img src="ttps://example.com/wp-content/uploads/○○.jpg"> という形になる だったら>>453も単に <img src="ttps://example.com/wp-content/uploads/○○.jpg"> とすれば終わりの話だよw でも、何がしたいのかよく分からんが、>>453ではわざわざ readfile() とか使ってるw まぁでも、WordPress管理画面から自分がアップロードし公開ディレクトリに置かれたものなのだから、 readfile() でそれをそのまま出力しても問題はないさ http://mevius.5ch.net/test/read.cgi/tech/1619667579/520
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 482 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.023s