!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
★スレ立て時 ↑ が3行以上になるようコピペ
PHPに関する質問スレです
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 11
https://mevius.5ch.net/test/read.cgi/tech/1591334726/
次スレは>>980以降
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
【PHP】下らねぇ質問はここに書き込みやがれ 12
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ f6ad-UoZY)
2021/04/29(木) 12:39:39.75ID:P0iZ4CYt0424デフォルトの名無しさん (アウアウウー Sa09-4x/S)
2021/07/09(金) 22:34:16.27ID:SqCApkwQa425デフォルトの名無しさん (ワッチョイ a563-0sKs)
2021/07/09(金) 22:39:05.83ID:nNC4f6Lr0 文法エラーくらいは自分で見つけられないと
426デフォルトの名無しさん (ワッチョイ 2302-K8O7)
2021/07/09(金) 23:06:03.20ID:aS/fIL1f0 >>424
if やら foreach やらのブロック開始終了タグが波括弧だったりコロンだったりってのを直していくってことね
wordpress触る以上埋め込みが混在するコードを追う能力は必須になるから、この程度のこと自力で解決できないならwordpress触るの諦めたほうがいいよ
if やら foreach やらのブロック開始終了タグが波括弧だったりコロンだったりってのを直していくってことね
wordpress触る以上埋め込みが混在するコードを追う能力は必須になるから、この程度のこと自力で解決できないならwordpress触るの諦めたほうがいいよ
427デフォルトの名無しさん (ワッチョイ 852c-xNKK)
2021/07/09(金) 23:58:42.15ID:TIX9j1Dy0 Web制作管理板のWordPress のスレで、やってるみたい
5ch ではマルチポストは禁止だから、このスレでは話を続けない方がよい。
向こうのスレで議論してください!
1つのスレだけにしないと、答える人も同じ事を調べたりするので、無駄
5ch ではマルチポストは禁止だから、このスレでは話を続けない方がよい。
向こうのスレで議論してください!
1つのスレだけにしないと、答える人も同じ事を調べたりするので、無駄
428デフォルトの名無しさん (ワッチョイ 6352-Q14N)
2021/07/10(土) 02:46:38.45ID:gwvQHAgv0 Rubyバカが自分を棚にあげて何か言ってる
429デフォルトの名無しさん (ワッチョイ 15c5-jjVx)
2021/07/10(土) 02:53:56.58ID:etRC44er0430デフォルトの名無しさん (ワッチョイ cbbb-NBD7)
2021/07/10(土) 06:01:14.33ID:BwwaALiC0431デフォルトの名無しさん (ワッチョイ 234f-jjVx)
2021/07/10(土) 08:21:25.24ID:l5rpHYDO0432デフォルトの名無しさん (ワッチョイ a563-0sKs)
2021/07/10(土) 10:30:31.94ID:BPX48WFJ0 同じ質問を至るところでして、回答者がいても返信すらしないというのはよくある事
書き捨てする様な質問には誰も答えないし、迷惑千万
書き捨てする様な質問には誰も答えないし、迷惑千万
433デフォルトの名無しさん (ワッチョイ e35c-jjVx)
2021/07/10(土) 12:57:51.58ID:B4xS3BY90 俺はヒールに徹するルビー君が結構好きだったんだけど
常識を語るようになったら終わりだね
常識を語るようになったら終わりだね
434デフォルトの名無しさん (テテンテンテン MMcb-2LG+)
2021/07/10(土) 13:45:53.05ID:npYW/9LsM >>431
マルチポストの定義すら分からんのか
マルチポストの定義すら分からんのか
435デフォルトの名無しさん (ワッチョイ 239f-jjVx)
2021/07/10(土) 17:15:08.23ID:xuQr++Bu0 >>434
お前がな
お前がな
436デフォルトの名無しさん (オッペケ Sra1-AlcT)
2021/07/10(土) 23:37:27.16ID:L/F3nxmer 原因が少しわかりました
get_posts()は取得した投稿データを配列として返すのに対し、WP_Queryクラスを利用した場合は、データベース検索の条件やその結果がデータとして保持されるため、ループ内での条件分岐など、より高度なサブループの制御が可能です。
昨日書いたコードは$args = array()を2度分けて書いていたこと、
$posts_array = get_posts( $args );で投稿内容の取得をしているのに対し、
$the_query = new WP_Query( $args );でページナビの内容を取得しているので、
ひもずけされておらずページ番号と内容がマッチしておらず2ページ目をクリックしても内容のリロードができてませんでした。
一つ聞きたいのは、
WP_Queryとget_postsの違いは何でしょうか?
投稿内容をページナビ付きで表示する場合WP_Query() get_thumnailとかで投稿画像など取得できるのでしょうか?
get_posts()は取得した投稿データを配列として返すのに対し、WP_Queryクラスを利用した場合は、データベース検索の条件やその結果がデータとして保持されるため、ループ内での条件分岐など、より高度なサブループの制御が可能です。
昨日書いたコードは$args = array()を2度分けて書いていたこと、
$posts_array = get_posts( $args );で投稿内容の取得をしているのに対し、
$the_query = new WP_Query( $args );でページナビの内容を取得しているので、
ひもずけされておらずページ番号と内容がマッチしておらず2ページ目をクリックしても内容のリロードができてませんでした。
一つ聞きたいのは、
WP_Queryとget_postsの違いは何でしょうか?
投稿内容をページナビ付きで表示する場合WP_Query() get_thumnailとかで投稿画像など取得できるのでしょうか?
437デフォルトの名無しさん (ワッチョイ 852c-KGMb)
2021/07/11(日) 02:17:32.48ID:lZiRxAj00 WordPress の質問ですか?
WordPressの事なら、Web制作管理板のWordPressのスレに書き込んでください!
5ch はマルチポスト禁止だから、
同じ質問を、複数のスレに書くのは禁止!
このスレではなく、WordPressのスレの方で聞く方がよい
WordPressの事なら、Web制作管理板のWordPressのスレに書き込んでください!
5ch はマルチポスト禁止だから、
同じ質問を、複数のスレに書くのは禁止!
このスレではなく、WordPressのスレの方で聞く方がよい
438デフォルトの名無しさん (オッペケ Sra1-AlcT)
2021/07/12(月) 01:09:59.12ID:cRbCoWRWr439デフォルトの名無しさん (ワッチョイ 8d54-8NFQ)
2021/07/12(月) 16:45:41.95ID:ihSDWtOf0 Po@「
440デフォルトの名無しさん (ワッチョイ fd1d-6Mb1)
2021/07/12(月) 17:49:52.30ID:ZPBMd6Y/0 >>439
コラコラ
コラコラ
441デフォルトの名無しさん (スププ Sd43-pM4a)
2021/07/12(月) 22:17:47.32ID:SYagZpGJd アップロードされた画像をconstで定義されてるパス先に移動させたいんですが上手く出来ないので教えてください
move_uploaded_file($upload_file['tmp_name'],DIR_IMG.$new_file_name);
DIR_IMGには相対パスが入ってます('../img/など)
move_uploaded_file($upload_file['tmp_name'],DIR_IMG.$new_file_name);
DIR_IMGには相対パスが入ってます('../img/など)
442デフォルトの名無しさん (ワッチョイ a37c-C4NE)
2021/07/13(火) 13:02:35.06ID:I15vJP3h0 そもそもアップロードされたファイルなのかどうか
is_uploaded_file()でチェック出来る
そうじゃないならrename()使え
その相対パスあってる?
realpath()で確認してみる
相対パスがあってたとして、パーミッションチェックした?
is_uploaded_file()でチェック出来る
そうじゃないならrename()使え
その相対パスあってる?
realpath()で確認してみる
相対パスがあってたとして、パーミッションチェックした?
443デフォルトの名無しさん (ワッチョイ 2342-6Mb1)
2021/07/14(水) 19:07:13.52ID: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を更新したいのです。
'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を更新したいのです。
444デフォルトの名無しさん (ワッチョイ 2342-6Mb1)
2021/07/14(水) 19:09:54.91ID:dWCeWde70 訂正::すいません。
×var_dump($morning);
〇var_dump($fruits);
×var_dump($morning);
〇var_dump($fruits);
445デフォルトの名無しさん (ワッチョイ a37c-C4NE)
2021/07/14(水) 19:40:05.21ID:b60WN8TB0 グローバル変数なら別にスコープ関係無い筈だがそれ前提は設計的にどうかと思うので
以下の方法のどちらかを使う方が良いだろう
参照で渡す
function test(&$a) {
$aへの代入は関数で渡した変数に及ぶ
別にreturnする必要は無い
}
複数の結果をリターンする
function test2()
{
return [1,2];
}
list($a,$b) = test();
$aと$bに結果が入る
以下の方法のどちらかを使う方が良いだろう
参照で渡す
function test(&$a) {
$aへの代入は関数で渡した変数に及ぶ
別にreturnする必要は無い
}
複数の結果をリターンする
function test2()
{
return [1,2];
}
list($a,$b) = test();
$aと$bに結果が入る
446デフォルトの名無しさん (ワッチョイ 2342-6Mb1)
2021/07/14(水) 20:25:55.80ID:dWCeWde70 よくわかりました。
関数外に変数を定義したからといって、
global変数になるわけじゃないんですね。
ありがとございました。
参照渡しか、global変数の定義か、どちらかでやっていきます。
関数外に変数を定義したからといって、
global変数になるわけじゃないんですね。
ありがとございました。
参照渡しか、global変数の定義か、どちらかでやっていきます。
447デフォルトの名無しさん (ワッチョイ 852c-KGMb)
2021/07/15(木) 00:16:59.54ID:gFOIdhYR0 Ruby も珍しく、厳格な関数スコープ。
関数外の変数を、関数内で参照できない
引数渡しか、クラス・モジュール化して使うなどする
関数外の変数を、関数内で参照できない
引数渡しか、クラス・モジュール化して使うなどする
448デフォルトの名無しさん (ワッチョイ 0d08-6wWl)
2021/07/15(木) 14:33:47.08ID: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マニュアルは優秀だから大抵の事は書いてある
最低限のルールは覚えよう
まず「スコープ」という概念について勉強しよう
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マニュアルは優秀だから大抵の事は書いてある
最低限のルールは覚えよう
449デフォルトの名無しさん (ワッチョイ 0d08-6wWl)
2021/07/15(木) 14:39:40.15ID:Hy5PN9MF0 >>441
その質問には超能力者しか答えられない
とりあえず、以下を参考にエラーを出力させよう
https://qiita.com/fallout/items/31f793708b243033fab1
次に、そのエラー内容をきちんと読もう
中学レベルの英語力で読めるので
そのエラーを読んでも意味が理解できないなら、エラー内容を転載して質問
俺らはエスパーじゃないw
その質問には超能力者しか答えられない
とりあえず、以下を参考にエラーを出力させよう
https://qiita.com/fallout/items/31f793708b243033fab1
次に、そのエラー内容をきちんと読もう
中学レベルの英語力で読めるので
そのエラーを読んでも意味が理解できないなら、エラー内容を転載して質問
俺らはエスパーじゃないw
450デフォルトの名無しさん (ワッチョイ e3a7-wTJ1)
2021/07/15(木) 20:53:46.77ID:jGrj3A7F0 >>443
なんとなく設計がよくない気がする
$fruits、$coffeeは、別々の関数で処理させて、returnはそれぞれ1つの方がよいと思う
無理にまとめると関数の独立性を損ねるし、それに参照渡しもlist関数も直感的でなく可読性が落ちる
なんとなく設計がよくない気がする
$fruits、$coffeeは、別々の関数で処理させて、returnはそれぞれ1つの方がよいと思う
無理にまとめると関数の独立性を損ねるし、それに参照渡しもlist関数も直感的でなく可読性が落ちる
451デフォルトの名無しさん (ワッチョイ 5a42-E0YB)
2021/07/17(土) 05:15:45.31ID:YBqRFemK0453デフォルトの名無しさん (オッペケ Sr75-VsZy)
2021/07/17(土) 18:21:09.31ID: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>にしたい場合どうすればよいでしょうか?
<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>にしたい場合どうすればよいでしょうか?
454デフォルトの名無しさん (オッペケ Sr75-VsZy)
2021/07/17(土) 18:25:44.28ID:ohkviaGsr 画像が画面いっぱいに表示されるということは別のファイルに出力するということですかね、
複数表示してcssを付与するのはどうすればよいのでしょうか?
複数表示してcssを付与するのはどうすればよいのでしょうか?
455蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdfa-rTLR)
2021/07/17(土) 18:54:11.12ID:UtbSZ1Qtd htmlの中にtable出力、その中でimg要素をsrc属性を付けて複数指定する。ブラウザはsrc属性付きのimgのイメージを自動的に読み込む。
456デフォルトの名無しさん (オッペケ Sr75-VsZy)
2021/07/17(土) 20:16:21.59ID: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を出力するとしても画像が出力できません。
何が原因でしょうか?
すみません、過去の質問を頼りに画像出力について検索したのですが、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を出力するとしても画像が出力できません。
何が原因でしょうか?
457蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdfa-rTLR)
2021/07/17(土) 21:00:58.68ID:UtbSZ1Qtd >>456
スラッシュをエスケープするにしてもその書き方は任意のパス名を受け入れるから危険だよ。
スラッシュをエスケープするにしてもその書き方は任意のパス名を受け入れるから危険だよ。
458デフォルトの名無しさん (アウアウクー MM35-VsZy)
2021/07/17(土) 21:34:37.90ID:OaBiTcJcM >>457
画像を呼び出す場合<img src="/header_image.php">のようにphpスクリプトを呼び出して、そのphpスクリプトが画像データを返すようにすべきです。
と言われたのですがほかに方法はあるのでしょうか?
画像を呼び出す場合<img src="/header_image.php">のようにphpスクリプトを呼び出して、そのphpスクリプトが画像データを返すようにすべきです。
と言われたのですがほかに方法はあるのでしょうか?
459デフォルトの名無しさん (ワッチョイ 552c-0PSu)
2021/07/17(土) 21:38:04.55ID:xmQE+uIu0 <img src="img.php?img=uploads/2021/07/7mgpH3K.jpg">
じゃなくて、
<img src="uploads/2021/07/7mgpH3K.jpg">
じゃないの?
まあでも、ユーザーから送られたものを、チェック無しに、そのまま使うのは危険!
そこに、色々なファイルパス・命令などを入れてくる
じゃなくて、
<img src="uploads/2021/07/7mgpH3K.jpg">
じゃないの?
まあでも、ユーザーから送られたものを、チェック無しに、そのまま使うのは危険!
そこに、色々なファイルパス・命令などを入れてくる
460蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdfa-rTLR)
2021/07/17(土) 22:23:28.15ID:UtbSZ1Qtd パス名じゃなくてもっと制限された情報を渡す。
461デフォルトの名無しさん (オッペケ Sr75-VsZy)
2021/07/18(日) 12:58:29.71ID:VnC3iq6Ar462デフォルトの名無しさん (ワッチョイ 0563-kbnc)
2021/07/18(日) 13:23:08.70ID:A0aXocf00 HTMLでアクセス可能なPathなら、だが
ハッキングされそうで怖いな
ハッキングされそうで怖いな
463デフォルトの名無しさん (ワッチョイ 9a7c-xL6t)
2021/07/18(日) 14:04:59.57ID:fBmvBk7Y0 そもそもアップロード先フォルダだとしてそれをそのまま公開するのは頭がおかしい
PHP以前の問題
本来ならアップロードした時点でファイルを調べて、それでOKであれば
(例えばちゃんと画像ファイルなのかどうか等)
公開フォルダへコピーするなりするべきじゃね?
PHP以前の問題
本来ならアップロードした時点でファイルを調べて、それでOKであれば
(例えばちゃんと画像ファイルなのかどうか等)
公開フォルダへコピーするなりするべきじゃね?
464デフォルトの名無しさん (ワッチョイ 5a84-fEvS)
2021/07/18(日) 15:55:22.55ID:Th1fsKvf0 アホばっかりw
465デフォルトの名無しさん (アウアウウー Sa39-hwij)
2021/07/18(日) 16:44:58.59ID:UQ3hWlPAa セキュリティ的に危ないという理由を教えてください
一度サーバーのフォルダにアップしたものを公開するのは危ないのでしょうか?
一度サーバーのフォルダにアップしたものを公開するのは危ないのでしょうか?
466デフォルトの名無しさん (ワッチョイ f6bb-YmP5)
2021/07/18(日) 17:23:13.71ID:ca/UjVuI0 >>465
セキュリティはちゃんと体系的な知識を身につけたほうが良いですよ
一応アップロード系の用語がそれなりに出てくる記事をリンクしておきます
https://qiita.com/mpyw/items/939964377766a54d4682
記事中の実装は、今となっては古すぎなので参考になりませんが、用語レベルでは網羅されているかと
入り口の記事として読んでください
外部からアクセスできる場所にアクセス・実行できるファイルを一個置かれただけで、かなりのことができるようになります
セキュリティはちゃんと体系的な知識を身につけたほうが良いですよ
一応アップロード系の用語がそれなりに出てくる記事をリンクしておきます
https://qiita.com/mpyw/items/939964377766a54d4682
記事中の実装は、今となっては古すぎなので参考になりませんが、用語レベルでは網羅されているかと
入り口の記事として読んでください
外部からアクセスできる場所にアクセス・実行できるファイルを一個置かれただけで、かなりのことができるようになります
467デフォルトの名無しさん (ワッチョイ 5a02-UKwf)
2021/07/18(日) 19:10:00.86ID:NSPuFPL00 RubyガイジとWPガイジはスルー推奨
468デフォルトの名無しさん (ワッチョイ fa5c-fEvS)
2021/07/18(日) 19:37:42.84ID:gO2R7Orx0469デフォルトの名無しさん (ワッチョイ 552c-NvNM)
2021/07/18(日) 21:08:39.36ID:H/NN8O820 セキュリティーは、膨大な種類ある
だから皆、Ruby on Rails などのフレームワークを使う。
素の言語では、一生やっても作れない
Rails では、サーバーへプロフィール画像をアップロードする、機能がよく出てくる。
画像ファイルの縦横幅の制限、容量の制限、
中身にウイルスがうめこまれていないかチェックするなど、
色々なセキュリティー対策をしないといけない
さらにレスポンシブ対応で、様々なサイズに拡大縮小するなど、
OSS のモジュールを使わないと作れない
一々、自分で作っていては、一生掛かる。
Railsなどのフレームワークの勉強をしていない人は、絶対にシステムを作れない
他にも、マスアサインメント・SQL インジェクションとか、
セキュリティーには膨大な種類ある
だから、PHP のサイトばかり攻撃されるのは、
セキュリティーを知らない人が作っているから、情報を取りやすい
だから皆、Ruby on Rails などのフレームワークを使う。
素の言語では、一生やっても作れない
Rails では、サーバーへプロフィール画像をアップロードする、機能がよく出てくる。
画像ファイルの縦横幅の制限、容量の制限、
中身にウイルスがうめこまれていないかチェックするなど、
色々なセキュリティー対策をしないといけない
さらにレスポンシブ対応で、様々なサイズに拡大縮小するなど、
OSS のモジュールを使わないと作れない
一々、自分で作っていては、一生掛かる。
Railsなどのフレームワークの勉強をしていない人は、絶対にシステムを作れない
他にも、マスアサインメント・SQL インジェクションとか、
セキュリティーには膨大な種類ある
だから、PHP のサイトばかり攻撃されるのは、
セキュリティーを知らない人が作っているから、情報を取りやすい
470デフォルトの名無しさん (アウアウクー MM35-B/F3)
2021/07/18(日) 21:53:44.27ID:6mAUoTwKM PHPのフレームワーク使うならLaravelだね
471デフォルトの名無しさん (ワッチョイ 016e-fEvS)
2021/07/18(日) 22:51:51.23ID:adePGcGm0 マルチポストには激おこするルビー君
472デフォルトの名無しさん (ワッチョイ 691d-E0YB)
2021/07/18(日) 23:11:24.32ID:g0bWf1Ea0 激おこなんていうJK用語をナチュラルに使いこなしているのがすごい
473デフォルトの名無しさん (ワッチョイ 0563-kbnc)
2021/07/18(日) 23:42:29.55ID:A0aXocf00 JK用語なの?
おじさん、普通に使ってた
おじさん、普通に使ってた
474デフォルトの名無しさん (ワッチョイ 691d-E0YB)
2021/07/20(火) 01:13:58.90ID:kSAF0CCr0 アラフォーだけど、使うって感じじゃなくて…
ジェネレーションギャップかも
ジェネレーションギャップかも
475デフォルトの名無しさん (アウアウクー MM35-VsZy)
2021/07/20(火) 17:18:42.82ID: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
これで大丈夫でしょうか?画像は表示されました。
誰からも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
これで大丈夫でしょうか?画像は表示されました。
476デフォルトの名無しさん (ワッチョイ 058c-p0fO)
2021/07/22(木) 13:17:48.55ID: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の時にも日本語にするためには、なにをしたら良いでしょうか。
どうぞよろしくお願いいたします。
環境は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の時にも日本語にするためには、なにをしたら良いでしょうか。
どうぞよろしくお願いいたします。
477デフォルトの名無しさん (アウアウクー MM35-Hsms)
2021/07/22(木) 15:43:09.09ID:b8/cFbDKM >>463
言ってる意味がおおよそ理解できたのですが。
・暗号化
可逆な存在
=複合することができる
=変換方式が決まっているため、だれでも復元(decode)できる。
可逆な存在といえば「Base64」
エンコード(暗号化)も出来るし、デコード(複合化)もできる。
(でもね、厳密には暗号化=エンコードとは言えないんだよ…)
(詳しくはもう少し下で…)
逆に、不可逆な存在といえば「SHA-1」
こっちは複合化することが出来ない。
画像をハッシュ関数化してそれをもとに画像を表示させる方法がわからないんですが、
phpで可能なんでしょうか?
言ってる意味がおおよそ理解できたのですが。
・暗号化
可逆な存在
=複合することができる
=変換方式が決まっているため、だれでも復元(decode)できる。
可逆な存在といえば「Base64」
エンコード(暗号化)も出来るし、デコード(複合化)もできる。
(でもね、厳密には暗号化=エンコードとは言えないんだよ…)
(詳しくはもう少し下で…)
逆に、不可逆な存在といえば「SHA-1」
こっちは複合化することが出来ない。
画像をハッシュ関数化してそれをもとに画像を表示させる方法がわからないんですが、
phpで可能なんでしょうか?
478デフォルトの名無しさん (アウアウクー MM05-jkzO)
2021/07/24(土) 10:11:35.97ID:CXOLw81IM 暗号化と符号化の違いがわからなかった時期が俺にもあったなぁ
479デフォルトの名無しさん (ワッチョイ 1389-1sa8)
2021/07/26(月) 09:39:33.21ID: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);
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);
480デフォルトの名無しさん (ワッチョイ 519b-Hgw+)
2021/07/26(月) 09:43:24.61ID:UUQ7nGaW0 うちはできてる
481デフォルトの名無しさん (ワッチョイ 1389-1sa8)
2021/07/26(月) 09:51:26.23ID:nRSOkyaR0 うう…マジか
XAMPPのローカル環境だから上手く行かないのだろうか?
XAMPPのローカル環境だから上手く行かないのだろうか?
482デフォルトの名無しさん (ワッチョイ 7bad-0CkY)
2021/07/26(月) 10:38:53.43ID:rdRO2HTr0 せめてエラーログくらい貼りなよ
483デフォルトの名無しさん (ワッチョイ 532c-MYQi)
2021/07/26(月) 11:26:45.16ID:DTdYSzy80 全く読めない
このファイルは、UTF-8 ではない?
このファイルは、UTF-8 ではない?
484デフォルトの名無しさん (ワッチョイ 7bad-0CkY)
2021/07/26(月) 11:43:48.93ID:rdRO2HTr0 >>479
レスポンスがbrotliで圧縮されてる
そのままブラウザに出力したいだけならContent-Encodingを設定しておくだけ
header('Content-Encoding: br');
jsonとして読み込みたいならbrotliのエクステンションをインストールしてからデコードした上でjsonにデコードする
レスポンスがbrotliで圧縮されてる
そのままブラウザに出力したいだけならContent-Encodingを設定しておくだけ
header('Content-Encoding: br');
jsonとして読み込みたいならbrotliのエクステンションをインストールしてからデコードした上でjsonにデコードする
485デフォルトの名無しさん (アウアウクー MM05-KMlg)
2021/07/26(月) 20:20:23.98ID:BzqZLuZJM 1つ聞きたいんですが画像ファイルのセキュリティについてです。
自分の調べた聞いて理解した範囲では画像を<img src="画像URL">で表示するのは、
画像を表示するためにそのURLにアクセスできるので危険
↓
画像をbase64にエンコードします
デコード(複合化)もできるので意味がほぼないです
↓
サイズとMIMEチェックをして画像を表示させる前に、画像ファイルである事を確認する
必要ならサイズやビット深度を変更する
https://teratail.com/questions/350744で聞くと,
ファイルをアップロードするのは「サイト運営側」だけであれば問題ありません。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13246474913で聞くと、
mineチェックとサイズ変更しなさい、
できればアップロード時のファイル名を元のものから変更する、自サイトのページ内に配置された画像としてしかアクセスを禁止するなどしなさい
結局どれが正解なんでしょうか?
自分の調べた聞いて理解した範囲では画像を<img src="画像URL">で表示するのは、
画像を表示するためにそのURLにアクセスできるので危険
↓
画像をbase64にエンコードします
デコード(複合化)もできるので意味がほぼないです
↓
サイズとMIMEチェックをして画像を表示させる前に、画像ファイルである事を確認する
必要ならサイズやビット深度を変更する
https://teratail.com/questions/350744で聞くと,
ファイルをアップロードするのは「サイト運営側」だけであれば問題ありません。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13246474913で聞くと、
mineチェックとサイズ変更しなさい、
できればアップロード時のファイル名を元のものから変更する、自サイトのページ内に配置された画像としてしかアクセスを禁止するなどしなさい
結局どれが正解なんでしょうか?
486デフォルトの名無しさん (ワッチョイ 8bbb-OwHR)
2021/07/26(月) 20:26:04.88ID:B9v6ZV500487デフォルトの名無しさん (ワッチョイ 1302-/zz1)
2021/07/26(月) 20:31:09.20ID:7+uo32oc0488デフォルトの名無しさん (ワッチョイ 8bbb-OwHR)
2021/07/26(月) 21:10:41.62ID:B9v6ZV500489デフォルトの名無しさん (ワッチョイ 1302-/zz1)
2021/07/26(月) 22:18:00.65ID:7+uo32oc0 >>488
俺に気をはれと言われましてもw
俺に気をはれと言われましてもw
490デフォルトの名無しさん (オッペケ Sr85-KMlg)
2021/07/26(月) 22:31:24.99ID:nQwBFtLMr >>487
wordpress以外でも同じでしょ?
それに管理画面からじゃなくフォルダのディレクトリに置いたファイルの話なんで画像限定じゃないですね
phpやcssのファイルでも同様かどうか知りたいです
wordpress以外でも同じでしょ?
それに管理画面からじゃなくフォルダのディレクトリに置いたファイルの話なんで画像限定じゃないですね
phpやcssのファイルでも同様かどうか知りたいです
491デフォルトの名無しさん (オッペケ Sr85-KMlg)
2021/07/26(月) 22:44:03.71ID:nQwBFtLMr 画像ファイルのアップロードの時のセキュリティはwordpress関係なく同じでしょ
492デフォルトの名無しさん (ワッチョイ 1302-/zz1)
2021/07/26(月) 22:56:31.97ID:7+uo32oc0 >>491
WPインストールしたらアップロード周りのソース全部読んでセキュリティホール無いことを確認するの?
WPで画像表示する時は表示用PHP作ってbase64変換かますの?
そして、アップロードする時は常に気をはるの?
WPインストールしたらアップロード周りのソース全部読んでセキュリティホール無いことを確認するの?
WPで画像表示する時は表示用PHP作ってbase64変換かますの?
そして、アップロードする時は常に気をはるの?
493デフォルトの名無しさん (アウアウウー Sa5d-XNQa)
2021/07/27(火) 00:25:56.73ID:eUxCT57wa >>492
そんなことはしませんが、最低限のセキュリティは同じでしょ?
base64じゃセキュリティにならないからファイルを関数化して複雑なファイル名にする
それプラス最低限のセキュリティ、今回は画像なのでMIMEチェック
もし自分以外のユーザーが画像を上げるなら
自サイトのページ内に配置された画像としてしかアクセスを禁止する
word pressだからセキュリティは要らないっていうのはおかしいでしょ
そんなことはしませんが、最低限のセキュリティは同じでしょ?
base64じゃセキュリティにならないからファイルを関数化して複雑なファイル名にする
それプラス最低限のセキュリティ、今回は画像なのでMIMEチェック
もし自分以外のユーザーが画像を上げるなら
自サイトのページ内に配置された画像としてしかアクセスを禁止する
word pressだからセキュリティは要らないっていうのはおかしいでしょ
494デフォルトの名無しさん (ワッチョイ 1302-/zz1)
2021/07/27(火) 01:30:32.63ID:7P6684PB0495デフォルトの名無しさん (ワッチョイ b963-3Z6B)
2021/07/27(火) 01:51:04.21ID:sIvc9ZAG0 ここはPHPの質問をするスレ
WPの質問なら移動してください
WPの質問なら移動してください
496デフォルトの名無しさん (ワッチョイ 532c-MYQi)
2021/07/27(火) 04:39:04.62ID:x4yitIm80 Word Press の質問は、web制作管理板のスレの方へ移動してください!
Laravel のスレも、この板に立てている香具師がいる。
Laravelの質問は、WEBプログラミング板の方へ!
Laravel のスレも、この板に立てている香具師がいる。
Laravelの質問は、WEBプログラミング板の方へ!
497デフォルトの名無しさん (ワッチョイ d352-DMdn)
2021/07/27(火) 06:50:44.81ID:L674X5NC0498デフォルトの名無しさん (アウアウクー MM05-Cd1h)
2021/07/27(火) 07:09:26.40ID:CFpUohJoM WPスレにいる者だが絶対こっち来るなよ
ガイジ過ぎて手に負えんわ
ガイジ過ぎて手に負えんわ
499デフォルトの名無しさん (ワッチョイ 7bad-USot)
2021/07/27(火) 08:14:32.01ID:SyBbAbx40500デフォルトの名無しさん (ワッチョイ 2954-p8kO)
2021/07/27(火) 09:02:44.68ID:opDlelu60 るびースレに行ってもらえば万事解決するんじゃないかな
501デフォルトの名無しさん (ワッチョイ 1302-/zz1)
2021/07/27(火) 09:30:06.62ID:7P6684PB0 >>458 の質問者は少し前のWPのページネーションの奴だし、そいつは更に前のRSSの奴でもある
ってことでこのスレに住み着いてるWPガイジであることは確定なんですわw
何が気に食わないのか知らんけど残念だったねwww
https://teratail.com/users/homepage-site#question
ってことでこのスレに住み着いてるWPガイジであることは確定なんですわw
何が気に食わないのか知らんけど残念だったねwww
https://teratail.com/users/homepage-site#question
502デフォルトの名無しさん (ワッチョイ b37d-5SC8)
2021/07/27(火) 10:01:53.85ID:DZV4D5nN0 >>493
セキュリティと権限をごっちゃにしてそう
セキュリティと権限をごっちゃにしてそう
503デフォルトの名無しさん (エムゾネ FF33-Hgw+)
2021/07/27(火) 15:53:11.92ID:Dog97BpdF >>495
ほんそれ
ほんそれ
504デフォルトの名無しさん (ワッチョイ 7108-8Xcr)
2021/07/28(水) 10:44:10.50ID:5Wbud5da0 >>485
関連レスをザッとだけ読んだけど、スレ回答者の中にもおかしな事を言ってるやつはわりといる
いちいち指摘してたらキリないから割愛するが、スレ回答者の皆が実務経験豊富なプロってわけじゃないからなぁ…
でもお前さんも、自分が「思い込みが激しくて頭が固いタイプ」だって事は自覚しよう
rssの質問のときも、print_r($rss); とするだけで理解できる筈の事を理解できず、質問を繰り返してたでしょ?
だからスレが荒れるんだよ? 分かる?
関連レスをザッとだけ読んだけど、スレ回答者の中にもおかしな事を言ってるやつはわりといる
いちいち指摘してたらキリないから割愛するが、スレ回答者の皆が実務経験豊富なプロってわけじゃないからなぁ…
でもお前さんも、自分が「思い込みが激しくて頭が固いタイプ」だって事は自覚しよう
rssの質問のときも、print_r($rss); とするだけで理解できる筈の事を理解できず、質問を繰り返してたでしょ?
だからスレが荒れるんだよ? 分かる?
505デフォルトの名無しさん (ワッチョイ 7108-8Xcr)
2021/07/28(水) 10:44:53.11ID: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」を用意する
で、元の質問は>>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」を用意する
506デフォルトの名無しさん (ワッチョイ 7108-8Xcr)
2021/07/28(水) 10:46:52.30ID:5Wbud5da0 >>485
>>505に書いたoutput_image.phpの仕様がもし
output_image.php?path=img/abc/123.jpg
のように、画像のパスを渡したらその内容をそのまま表示するとなっていた場合、「パストラバーサル」と呼ばれる脆弱性が発生する危険性がある
例えば、pathの値が「img/../../../secret.txt」だった場合、意図せずsecret.txtの中身が第三者に読まれてしまうって事ね
だから、そうならないようpathの値をしっかりチェックしないといけないのだけど、一連の質問を見ている感じ、あなたにそれを自前でやるのは無理だと思う
なので、「ファイルパスを渡す」のではなく、最初の例のように「画像を識別できるIDを渡す」ようにすればいい
※?path= で値を受け取るPHPをインターネット上に公開し、ログを取ってみるといい
※笑うぐらい攻撃があちこちから飛んでくるのが確認できるから
>>505に書いたoutput_image.phpの仕様がもし
output_image.php?path=img/abc/123.jpg
のように、画像のパスを渡したらその内容をそのまま表示するとなっていた場合、「パストラバーサル」と呼ばれる脆弱性が発生する危険性がある
例えば、pathの値が「img/../../../secret.txt」だった場合、意図せずsecret.txtの中身が第三者に読まれてしまうって事ね
だから、そうならないようpathの値をしっかりチェックしないといけないのだけど、一連の質問を見ている感じ、あなたにそれを自前でやるのは無理だと思う
なので、「ファイルパスを渡す」のではなく、最初の例のように「画像を識別できるIDを渡す」ようにすればいい
※?path= で値を受け取るPHPをインターネット上に公開し、ログを取ってみるといい
※笑うぐらい攻撃があちこちから飛んでくるのが確認できるから
507デフォルトの名無しさん (ワッチョイ 7108-8Xcr)
2021/07/28(水) 10:50:19.40ID:5Wbud5da0 >>485
最後に
アップロード処理が管理者にしかできない = 第三者に変なファイルをアップされる心配がないのであれば、
<img src="img/abc/123.jpg">
で別にええのよw
img/abc/123.jpg というファイルパスを第三者に知られたくないなら、>>505の例のように「間にPHPをかまして出力」すれば良いってだけ
逆に、第三者に変なファイルをアップされる心配があるのであれば、「アップロード処理の際に(出力の時ではなく)」厳密なチェック処理をしないとダメ
それについては、>>466さんも紹介してくれている
https://qiita.com/mpyw/items/939964377766a54d4682
を読めばいい
・第三者が自由にファイルがアップロードできる
・アップロード処理の際に上記のようなチェック処理ができてない
・アップロードされたファイルへ第三者がアクセスできる
3つの条件を満たしているとセキュリティ的にヤバいよねってだけ
例えば、「任意のファイルを自由に読み書きできるPHPファイル」をアップロードしそれがそのまま実行できたらヤバいでしょ?
分かる?
最後に
アップロード処理が管理者にしかできない = 第三者に変なファイルをアップされる心配がないのであれば、
<img src="img/abc/123.jpg">
で別にええのよw
img/abc/123.jpg というファイルパスを第三者に知られたくないなら、>>505の例のように「間にPHPをかまして出力」すれば良いってだけ
逆に、第三者に変なファイルをアップされる心配があるのであれば、「アップロード処理の際に(出力の時ではなく)」厳密なチェック処理をしないとダメ
それについては、>>466さんも紹介してくれている
https://qiita.com/mpyw/items/939964377766a54d4682
を読めばいい
・第三者が自由にファイルがアップロードできる
・アップロード処理の際に上記のようなチェック処理ができてない
・アップロードされたファイルへ第三者がアクセスできる
3つの条件を満たしているとセキュリティ的にヤバいよねってだけ
例えば、「任意のファイルを自由に読み書きできるPHPファイル」をアップロードしそれがそのまま実行できたらヤバいでしょ?
分かる?
508デフォルトの名無しさん (ワッチョイ 0bba-p8kO)
2021/07/28(水) 12:52:23.66ID:9bJDIHUz0 釣り質問にマジレスすんなよアホ
509デフォルトの名無しさん (ワッチョイ 137d-p8kO)
2021/07/28(水) 12:58:32.36ID:pYNLf1nF0 釣りレスですしw
510デフォルトの名無しさん (ワッチョイ 7108-8Xcr)
2021/07/28(水) 16:52:40.91ID:5Wbud5da0 >>476
ゴミレスに埋もれて気づかなかったw
PHPの記述を
exec('ipconfig', $message);
↓
exec('chcp 932 | ipconfig', $message);
に変えたら上手くいくと思う
932はCP932(SJIS)の事ね
ゴミレスに埋もれて気づかなかったw
PHPの記述を
exec('ipconfig', $message);
↓
exec('chcp 932 | ipconfig', $message);
に変えたら上手くいくと思う
932はCP932(SJIS)の事ね
511デフォルトの名無しさん (ワッチョイ 7108-8Xcr)
2021/07/28(水) 16:54:11.72ID: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のバージョンぐらいは書いた方がいいが
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のバージョンぐらいは書いた方がいいが
512デフォルトの名無しさん (オッペケ Sr85-KMlg)
2021/07/28(水) 20:23:13.38ID:jpPdNADXr >>507
それをあわせてファイルをチェックするのが
MIMEチェックをして画像を表示させる前に、画像ファイルである事を確認するってことですよね?
画像をecho '<img src="data:image/jpeg;base64,' . base64_encode(file_get_contents('img/abc/123.jpg')) . '">';で表示して
MIMEチェックするのがそんなに難しいことなんですか?
それをあわせてファイルをチェックするのが
MIMEチェックをして画像を表示させる前に、画像ファイルである事を確認するってことですよね?
画像をecho '<img src="data:image/jpeg;base64,' . base64_encode(file_get_contents('img/abc/123.jpg')) . '">';で表示して
MIMEチェックするのがそんなに難しいことなんですか?
513デフォルトの名無しさん (ワッチョイ b98c-MEjp)
2021/07/28(水) 21:08:58.35ID:IWCDcnnv0514デフォルトの名無しさん (ワッチョイ 7108-8Xcr)
2021/07/28(水) 22:44:28.91ID:5Wbud5da0 >>512
MIMEのチェックが必要なのは、「第三者が」画像の「アップロードをするとき」の話ね
画像を表示させる前にそんなものは要らない
> MIMEチェックするのがそんなに難しいことなんですか?
PHPでアップロード処理した際、MIMEタイプは $_FILES['hoge']['mime'] に入るんだけど、
それは偽装できる
だからその値は信用せず mime_content_type() などで別途チェックしようってこと
当たり前だが、自分しかアップロードしないならそんなチェックはしなくていい
つかさ、「自分(管理者)しか画像をアップロードしない」のか
それとも「第三者も画像をアップロードする」のか、
まずはそこをハッキリさせるべき
だから回答もめちゃくちゃになる
MIMEのチェックが必要なのは、「第三者が」画像の「アップロードをするとき」の話ね
画像を表示させる前にそんなものは要らない
> MIMEチェックするのがそんなに難しいことなんですか?
PHPでアップロード処理した際、MIMEタイプは $_FILES['hoge']['mime'] に入るんだけど、
それは偽装できる
だからその値は信用せず mime_content_type() などで別途チェックしようってこと
当たり前だが、自分しかアップロードしないならそんなチェックはしなくていい
つかさ、「自分(管理者)しか画像をアップロードしない」のか
それとも「第三者も画像をアップロードする」のか、
まずはそこをハッキリさせるべき
だから回答もめちゃくちゃになる
515デフォルトの名無しさん (ワッチョイ 532c-MYQi)
2021/07/29(木) 05:06:26.04ID:Bm0Z0U0B0 画像データの中に、ウイルスなどを入れてくるかも知れない
だから、本当に画像形式なのか、全バイト調べる必要がある
だから、本当に画像形式なのか、全バイト調べる必要がある
516デフォルトの名無しさん (ワッチョイ 8bbb-OwHR)
2021/07/29(木) 05:43:31.56ID:4AVEtKuA0 >>514
> 当たり前だが、自分しかアップロードしないならそんなチェックはしなくていい
これ、管理画面からしか画像アップロードを許さないって状況を言ってるんだと思うけど、その場合もちゃんとチェックすべき
他の脆弱性と合わせて管理者権限でアップロードする手口があるので、このへんで手は抜かないほうがいい
> 当たり前だが、自分しかアップロードしないならそんなチェックはしなくていい
これ、管理画面からしか画像アップロードを許さないって状況を言ってるんだと思うけど、その場合もちゃんとチェックすべき
他の脆弱性と合わせて管理者権限でアップロードする手口があるので、このへんで手は抜かないほうがいい
517デフォルトの名無しさん (ワッチョイ b93e-H0iZ)
2021/07/29(木) 09:05:26.98ID:rmmFdFBh0 自分で変なファイル置いちゃうかもしれんしな
518デフォルトの名無しさん (ワッチョイ 0934-nYep)
2021/07/29(木) 09:20:26.22ID:zpf7CT600 え?お前らSFTPで画像アップロードする時なんかもMIMEタイプのチェックやってるの?
管理者権限奪取されるような状況でMIMEタイプのチェックなんか意味ないだろw
管理者権限奪取されるような状況でMIMEタイプのチェックなんか意味ないだろw
519デフォルトの名無しさん (ワッチョイ b93e-96xQ)
2021/07/29(木) 09:39:40.25ID:rmmFdFBh0 自分WPしらんから適当言ってる
520デフォルトの名無しさん (ワッチョイ 7108-8Xcr)
2021/07/29(木) 11:01:03.28ID: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() でそれをそのまま出力しても問題はないさ
>>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() でそれをそのまま出力しても問題はないさ
521デフォルトの名無しさん (ワッチョイ 7108-8Xcr)
2021/07/29(木) 11:02:30.36ID:CBbl/boe0522デフォルトの名無しさん (ワッチョイ b963-3Z6B)
2021/07/29(木) 11:13:22.62ID:WLwj6dDv0 当人は自分宛レスに書かれた内容の三割も理解出来ていなさそう
523デフォルトの名無しさん (ワッチョイ 4901-nYep)
2021/07/29(木) 11:17:31.59ID:HtmB+4p50 セキュリティの一般論なんか持ち出すのがいけない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 「すごいアイドル出てきた」「かわいすぎる」ラヴィット初登場の美女に視聴者驚き ≠ME櫻井もも [ヴァイヴァー★]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 【速報】中国が日中関係悪化は高市氏に責任と名指しで非難 [931948549]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- ヤフコメでもうすぐ共感したをうーんが上回る ネトウヨを煽れば簡単にうーんを集められるぞ [817148728]
- ネトウヨ論調決まる「寧ろ迷惑中国人観光客が減ることで日本人の旅行が活性化され経済的には影響ない」 <mark>[ひまわり学級]</mark> [511393199]
