!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:P0iZ4CYt0482デフォルトの名無しさん (ワッチョイ 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 セキュリティの一般論なんか持ち出すのがいけない
524デフォルトの名無しさん (ワッチョイ 532c-MYQi)
2021/07/29(木) 12:43:26.88ID:Bm0Z0U0B0525デフォルトの名無しさん (ワッチョイ 7bad-USot)
2021/07/29(木) 12:51:10.23ID:ELCmA1Vb0 もう当人居なくなってるだろ
526デフォルトの名無しさん (ワッチョイ 1302-/zz1)
2021/07/29(木) 13:05:58.67ID:k08R/6yd0527デフォルトの名無しさん (ワッチョイ b37d-p7II)
2021/07/29(木) 13:14:38.56ID:kQQSV7PN0 こいつサイトに載せるバナーイラストをお絵描き板で個スレ立てて練習してるやつと同一かな?
pixivを超えるサイトを作るらしいぞ。だから第三者がアップロードする事に拘ってるんだと思うぞ。
pixivを超えるサイトを作るらしいぞ。だから第三者がアップロードする事に拘ってるんだと思うぞ。
528デフォルトの名無しさん (ワッチョイ 4901-E+HM)
2021/07/29(木) 15:46:28.70ID:1U+sby820 >>524
WPではアップした画像がWPを通して表示される時は絶対URLで記載される
WPではアップした画像がWPを通して表示される時は絶対URLで記載される
529デフォルトの名無しさん (ワッチョイ 7108-8Xcr)
2021/07/29(木) 18:37:55.60ID:CBbl/boe0530デフォルトの名無しさん (ワッチョイ 7108-8Xcr)
2021/07/29(木) 18:43:11.67ID:CBbl/boe0531デフォルトの名無しさん (ワッチョイ faad-ozmT)
2021/07/30(金) 15:35:03.64ID:B9OLCwSG0 2005年前後にに発行されたPHPの本がたくさんあります
バージョン4や5辺りです
以前はこれらの本を見ながら簡単なことをやったりしていましたがもう完全に忘れています
今、小さな店のweb予約システムをPHPで作りたいと思っています
今はPHPのバージョン7か8でしょうか
新規に本を揃えた方がいいですよね?
おすすめの本、勉強方法などあったら教えてください
スレチであれば誘導お願いします
バージョン4や5辺りです
以前はこれらの本を見ながら簡単なことをやったりしていましたがもう完全に忘れています
今、小さな店のweb予約システムをPHPで作りたいと思っています
今はPHPのバージョン7か8でしょうか
新規に本を揃えた方がいいですよね?
おすすめの本、勉強方法などあったら教えてください
スレチであれば誘導お願いします
532デフォルトの名無しさん (ワッチョイ 8ead-Yiki)
2021/07/30(金) 15:41:02.56ID:c+ndNg5Q0 バージョン7.3以上がいいよ
残念ながら4や5はもう完全に化石
残念ながら4や5はもう完全に化石
533デフォルトの名無しさん (ワッチョイ d52c-Fdub)
2021/07/30(金) 16:28:29.52ID:7i2immr80 PHPの本は半分くらい攻撃対策がページを占めてる印象
534デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/07/30(金) 17:00:35.86ID:UtQvC7c20 >>531
本が必要なら買い換えるべき(最低限PHP7…できれば7.3〜対応のものを )
作りたいものがはっきり決まってるのはとても良い事
とにもかくにも、まずはローカルにまともな開発環境を作ろう
スレの質問を見てると、開発環境を作れていないであろう人の質問は色んな意味でヤバいw
開発環境を作るのははじめは面倒だと思うけど急がば回れ
※533はRubyガイジなので注意
本が必要なら買い換えるべき(最低限PHP7…できれば7.3〜対応のものを )
作りたいものがはっきり決まってるのはとても良い事
とにもかくにも、まずはローカルにまともな開発環境を作ろう
スレの質問を見てると、開発環境を作れていないであろう人の質問は色んな意味でヤバいw
開発環境を作るのははじめは面倒だと思うけど急がば回れ
※533はRubyガイジなので注意
535デフォルトの名無しさん (ワッチョイ faad-ozmT)
2021/07/30(金) 19:29:14.24ID:B9OLCwSG0 どうせなら新しい8を勉強した方が効率いいかなと思ったんですけど、今使っているレンタルサーバがまだ8に対応してませんでした
7.3以上ですね、わかりやすそうな本を店頭で探してみます
予約システムの作り方とか似たようなものがないかも探してみよう
ローカルの環境開発、どの本にも書いてあったので昔入れてました
懐かしい
これも入れておきます
いつ完成するかわかりませんが久しぶりで楽しみです
アドバイスありがとうございした
7.3以上ですね、わかりやすそうな本を店頭で探してみます
予約システムの作り方とか似たようなものがないかも探してみよう
ローカルの環境開発、どの本にも書いてあったので昔入れてました
懐かしい
これも入れておきます
いつ完成するかわかりませんが久しぶりで楽しみです
アドバイスありがとうございした
536デフォルトの名無しさん (オッペケ Sr05-4OD8)
2021/07/30(金) 19:29:28.58ID:r27NHL07r img.phpを用意して<img src="output_image.php?id=12123">
header.phpのbodyに<img src="output_image.php?id=12123">と追加したのですが表示されないようです。
output_image.php?idで画像を表示できるのでしょうか?
header.phpのbodyに<img src="output_image.php?id=12123">と追加したのですが表示されないようです。
output_image.php?idで画像を表示できるのでしょうか?
537蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd9a-KTRx)
2021/07/30(金) 19:34:30.43ID:GDRR8sIEd 確認します。
img.phpというファイルはありますか?
output_image.phpというファイルはありますか?
output_image.php?id=...
に直接アクセスして画像は表示されますか?
img.phpというファイルはありますか?
output_image.phpというファイルはありますか?
output_image.php?id=...
に直接アクセスして画像は表示されますか?
538デフォルトの名無しさん (オッペケ Sr05-4OD8)
2021/07/30(金) 19:40:25.38ID:r27NHL07r 画像パスがupload.php?item=12123となっているのに対し
<img src="upload.php?id=12123">では取得できない気がするのですが、idから取得できるんでしょうか?
<img src="upload.php?id=12123">では取得できない気がするのですが、idから取得できるんでしょうか?
539デフォルトの名無しさん (オッペケ Sr05-4OD8)
2021/07/30(金) 19:46:25.67ID:r27NHL07r output_image.phpというファイルを作って中に<img src="upload.php?id=12123">
header.phpのbodyに<img src="upload.php?id=12123">と記載しても表示されません
直接output_image.php?id=12123にアクセスしても表示されないようです
header.phpのbodyに<img src="upload.php?id=12123">と記載しても表示されません
直接output_image.php?id=12123にアクセスしても表示されないようです
540デフォルトの名無しさん (オッペケ Sr05-4OD8)
2021/07/30(金) 19:58:25.74ID:r27NHL07r wordpressの場合特殊なのか、idから画像をリサイズして表示するときに<php echo wp_get_attachment_link( 12123 ); ?>で表示されました。
テンプレートタグ/wp get attachment link - WordPress Codex 日本語版
テンプレートタグ/wp get attachment link - WordPress Codex 日本語版
541デフォルトの名無しさん (ワッチョイ d563-IKHw)
2021/07/30(金) 19:58:58.68ID:ScATWV4k0 そらそうだろ
542デフォルトの名無しさん (オッペケ Sr05-4OD8)
2021/07/30(金) 20:00:25.98ID:r27NHL07r いずれはwordpressではなくデータベース軸でサイトを立ててみたいので、output_image.php?id=...で
なぜ表示できないのかも知りたいんですが…
なぜ表示できないのかも知りたいんですが…
543デフォルトの名無しさん (オッペケ Sr05-4OD8)
2021/07/30(金) 20:09:34.89ID:r27NHL07r <php echo '<img src="data:image/jpeg;base64,' . base64_encode(file_get_contents('wp-content/uploads/2021/07/7mgpH3K.jpg')) . '">';?>
だと同じように表示されました。教えていただきありがとうございます。
第三者がアップロードするかどうかでセキュリティを考えるんですね、コメントしかりページナビしかりマイページ機能しかり。
だと同じように表示されました。教えていただきありがとうございます。
第三者がアップロードするかどうかでセキュリティを考えるんですね、コメントしかりページナビしかりマイページ機能しかり。
544蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd9a-KTRx)
2021/07/30(金) 20:34:44.87ID:GDRR8sIEd WordPressはWPの作法に従わないと動かないことがあるよ。裏でCSSやら.htaccessやらJavaScriptやらが動いていて、実際の処理は隠蔽されてるから。
545デフォルトの名無しさん (オッペケ Sr05-4OD8)
2021/07/30(金) 21:45:55.50ID:r27NHL07r >>544
ありがとうございます
ありがとうございます
546デフォルトの名無しさん (オッペケ Sr05-4OD8)
2021/07/30(金) 21:52:20.21ID:r27NHL07r > 「不正な画像をアップロード」できるのも内部犯に限られることになる
XSS を利用して不正アップロードする手口が徳丸さんのとこで紹介されていました。
https://www.youtube.com/watch?v=FpCabifwhKg
WordPress なら外部から似たような攻撃でアップロードされる可能性があるので、プログラムレベルでも適切にアップロード対策をしておくべきだと思います。
このような回答が追加されていたのですが外部からも勝手にアップロードされる危険性はあるのでしょうか?
XSS を利用して不正アップロードする手口が徳丸さんのとこで紹介されていました。
https://www.youtube.com/watch?v=FpCabifwhKg
WordPress なら外部から似たような攻撃でアップロードされる可能性があるので、プログラムレベルでも適切にアップロード対策をしておくべきだと思います。
このような回答が追加されていたのですが外部からも勝手にアップロードされる危険性はあるのでしょうか?
547デフォルトの名無しさん (ワッチョイ d610-oSv0)
2021/07/30(金) 23:36:35.91ID:1geFHcN20 ありますよ。実際に自分はアップローダーからマルウェア仕込まれて
VPSサーバーを総入れ替え舌経験があります。
WordPress宛の攻撃は毎日あるし、できる対策は全てしたほうが良いでしょうね
VPSサーバーを総入れ替え舌経験があります。
WordPress宛の攻撃は毎日あるし、できる対策は全てしたほうが良いでしょうね
548デフォルトの名無しさん (アウアウウー Sa09-d0wC)
2021/07/31(土) 01:52:34.20ID:v7hkUDSma この動画を見たところ検索フォーム?のXSS対策コードの記載漏れから不正コードを入力されて管理画面に侵入されたみたいですが
要するに第3者が侵入出来るような検索フォームやお問い合わせフォームやコメントフォームやマイページの対策を怠らない事で防げるということですよね?
自分のみがアップロードする場合は該当しないのでしょうか?
要するに第3者が侵入出来るような検索フォームやお問い合わせフォームやコメントフォームやマイページの対策を怠らない事で防げるということですよね?
自分のみがアップロードする場合は該当しないのでしょうか?
549蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd9a-KTRx)
2021/07/31(土) 03:18:27.24ID:ZYWMYotdd 脆弱性は様々な枯れてない技術から発見されている。あのWPだってあちこちからゼロデイ攻撃が見つかっている。WP のテーマやプラグインにも脆弱性がある。度重なる更新や脆弱性に対応できないならWPを使うのをやめた方がいい。
パスワードセキュリティにも危険性がある。パスワードはセキュリティの基本であり、5文字程度の単純なパスワードはパスワードクラッカーで短い時間で突破されてしまう。攻撃者は性能の高い計算能力を持ち、世界中のどこからでも攻撃できる。パスワードは単純なのはダメ、短いのはダメ、憶測できるのはダメ。
あるいはソーシャルハッキングや電波漏れなどの未知のハッキング手法からも攻撃が成立することがある。
こうすれば絶対にハッキングされないという方法はないが、危険性が高いものを避けることは可能。
パスワードセキュリティにも危険性がある。パスワードはセキュリティの基本であり、5文字程度の単純なパスワードはパスワードクラッカーで短い時間で突破されてしまう。攻撃者は性能の高い計算能力を持ち、世界中のどこからでも攻撃できる。パスワードは単純なのはダメ、短いのはダメ、憶測できるのはダメ。
あるいはソーシャルハッキングや電波漏れなどの未知のハッキング手法からも攻撃が成立することがある。
こうすれば絶対にハッキングされないという方法はないが、危険性が高いものを避けることは可能。
550デフォルトの名無しさん (ワッチョイ d610-oSv0)
2021/07/31(土) 10:31:19.92ID:fqpnvpaJ0 >>548
WordPressの場合、自分は管理画面のURL変えてIP制限入れてますよ。
自分のみがアップロードなら、自分しか使えないIPアドレス制限した方がいいし、
ホスト名とか環境変数とか、そこまでチェックした方が確実だと思います。
ま、一番良いのはWordPress使わないことですけどね
WordPressの場合、自分は管理画面のURL変えてIP制限入れてますよ。
自分のみがアップロードなら、自分しか使えないIPアドレス制限した方がいいし、
ホスト名とか環境変数とか、そこまでチェックした方が確実だと思います。
ま、一番良いのはWordPress使わないことですけどね
551デフォルトの名無しさん (ワッチョイ 56bb-ds/h)
2021/07/31(土) 10:46:33.80ID:z/SvtBD30552デフォルトの名無しさん (ワッチョイ fa02-ufkm)
2021/07/31(土) 11:04:47.11ID:JJoM48pY0 わざとセキュリティホール作って、ほらね?危ないでしょ?ってアホかよw
まずWPに同じセキュリティホールあるかの議論が先だろw
無いけどw
まずWPに同じセキュリティホールあるかの議論が先だろw
無いけどw
553デフォルトの名無しさん (ワッチョイ 56bb-ds/h)
2021/07/31(土) 11:34:42.98ID:z/SvtBD30 >>552
ユーザ投稿のプレビュー箇所とアップロード機能を持つ管理画面って,WordPressで頻繁に見るんだが?
それぞれに問題箇所があるとwebshell置かれて終了!の可能性を指摘する動画だけど、理解できてる?
ユーザ投稿のプレビュー箇所とアップロード機能を持つ管理画面って,WordPressで頻繁に見るんだが?
それぞれに問題箇所があるとwebshell置かれて終了!の可能性を指摘する動画だけど、理解できてる?
554デフォルトの名無しさん (ワッチョイ 9154-mx9M)
2021/07/31(土) 11:37:50.11ID:BUpo1U8M0 プログラムで例えば4×4のマップがあった場合、4という数字は私は格子点数と呼んでいますが、皆さんは何と呼びますか?
555デフォルトの名無しさん (ワッチョイ fa02-ufkm)
2021/07/31(土) 18:56:05.10ID:JJoM48pY0556デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/02(月) 10:21:18.11ID:JwyUb7gK0 >>536
Oh...
それ、単に「例」として出しただけなのでw
例えば(あくまでも例え話ねw)
ID | 画像のパス
1 | hage/abc.jpg
2 | fuge/345.jpg
みたいにデータ管理してたとして、
id=1 を渡せば hage/abc.jpg を取得できるようにすれば結果的に
output_image.php?id=1
とすれば、「hage/abc.jpg」を表示できるでしょ?ってこと
それを、
output_image.php?path=hage/abc.jpg
みたいに直接パスを渡すような設計にしてると、あなたのレベルでは危ないよってだけ
Oh...
それ、単に「例」として出しただけなのでw
例えば(あくまでも例え話ねw)
ID | 画像のパス
1 | hage/abc.jpg
2 | fuge/345.jpg
みたいにデータ管理してたとして、
id=1 を渡せば hage/abc.jpg を取得できるようにすれば結果的に
output_image.php?id=1
とすれば、「hage/abc.jpg」を表示できるでしょ?ってこと
それを、
output_image.php?path=hage/abc.jpg
みたいに直接パスを渡すような設計にしてると、あなたのレベルでは危ないよってだけ
557デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/02(月) 10:45:18.84ID:JwyUb7gK0 >>546
> 外部からも勝手にアップロードされる危険性はあるのでしょうか?
そりゃ「可能性」はあるよw
人間が作るものにバグ(脆弱性)がないものなんてない
で、>>546にはその動画の意味は理解できる?
理解できてないよね
理解できてないのに、何をどうやって「対策」するの?w
その動画に指摘されている脆弱性は、「プラグインのXSS脆弱性を悪用した攻撃」なので、
対策といったところで、あなたのレベルでできるのは「WP本体やプラグインは常に最新版を使う」事ぐらいだよ?
※その動画の攻撃例は管理画面にIP制限なんかしても無駄ですw
結局、「画像は546本人しかアップロードしない」んだよね?
だったら、「アップロードした画像には問題ない」事を前提に話を進めようよ
546は、「HTMLやPHPの基礎がないままWordPressから始めた」のがいけない
基礎がガタガタなの
そんな人が細かい事を気にしたところで、話は前に進まんよ
> 外部からも勝手にアップロードされる危険性はあるのでしょうか?
そりゃ「可能性」はあるよw
人間が作るものにバグ(脆弱性)がないものなんてない
で、>>546にはその動画の意味は理解できる?
理解できてないよね
理解できてないのに、何をどうやって「対策」するの?w
その動画に指摘されている脆弱性は、「プラグインのXSS脆弱性を悪用した攻撃」なので、
対策といったところで、あなたのレベルでできるのは「WP本体やプラグインは常に最新版を使う」事ぐらいだよ?
※その動画の攻撃例は管理画面にIP制限なんかしても無駄ですw
結局、「画像は546本人しかアップロードしない」んだよね?
だったら、「アップロードした画像には問題ない」事を前提に話を進めようよ
546は、「HTMLやPHPの基礎がないままWordPressから始めた」のがいけない
基礎がガタガタなの
そんな人が細かい事を気にしたところで、話は前に進まんよ
558デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/02(月) 10:50:01.92ID:JwyUb7gK0559デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/02(月) 10:59:23.86ID:JwyUb7gK0 >>546
>>557に補足しとくと、WordPress本体・プラグイン・テーマファイルの致命的な脆弱性を悪用され、
WordPress権限から自由にファイルのアップロード・編集が可能になった場合、
サーバー内の画像をPHP経由で出力する際のセキュリティ(笑)なんか、いくら考えても無駄ですw
その点については>>518さんが指摘している通り
例えるなら、「ヘルメットを被っていたら快速電車にダイブしても大丈夫だよね?」って聞いてるみたいもんw
だから、自分しかアップロードしない画像ファイルは安全であるという前提で、話を進めようよ…いや頼むからそうしてくれw
てかRSSの時もそうだけど、たったこんだけの事にどんだけ時間かけてるのよw
>>557に補足しとくと、WordPress本体・プラグイン・テーマファイルの致命的な脆弱性を悪用され、
WordPress権限から自由にファイルのアップロード・編集が可能になった場合、
サーバー内の画像をPHP経由で出力する際のセキュリティ(笑)なんか、いくら考えても無駄ですw
その点については>>518さんが指摘している通り
例えるなら、「ヘルメットを被っていたら快速電車にダイブしても大丈夫だよね?」って聞いてるみたいもんw
だから、自分しかアップロードしない画像ファイルは安全であるという前提で、話を進めようよ…いや頼むからそうしてくれw
てかRSSの時もそうだけど、たったこんだけの事にどんだけ時間かけてるのよw
560デフォルトの名無しさん (ワッチョイ 8ead-Yiki)
2021/08/02(月) 11:36:09.87ID:CDsmjzwf0 いいから構うやつもまとめてWPスレ行って帰ってくるなよ
561デフォルトの名無しさん (ワッチョイ 9905-pCDs)
2021/08/02(月) 11:55:16.38ID:jY8DN4600 自演ですし
562デフォルトの名無しさん (スプッッ Sd9a-1M12)
2021/08/02(月) 14:06:37.03ID:LY8fDkppd 最初から自分しかアップロードしない前提なのにどんだけレスしたら気が済むの、このセキュリティガイジ
563デフォルトの名無しさん (ワッチョイ 4ee6-8rSu)
2021/08/02(月) 14:39:06.84ID:nA0UljqA0 セキュリティガイジは別人だろ
ガイジなのは質問者、それに対しセキュリティ全波の話を持ち出してる人、煽るしか能のない人
ガイジなのは質問者、それに対しセキュリティ全波の話を持ち出してる人、煽るしか能のない人
565デフォルトの名無しさん (ワッチョイ 5d01-QEAr)
2021/08/04(水) 15:31:27.53ID:QhYrANy70 Array(a1,b1,c1,d1,...)とArray(a2,b2,c2,d2,...)を足し算して、
2次元配列にする時って、どうすればいいでしょうか?
$x[0]がArray(a1,b1,c1,d1,...)の時、
$x[1] = $s;としたら、
$xがArray(a2,b2,c2,d2,...)で上書きされてしまいました。
2次元配列にする時って、どうすればいいでしょうか?
$x[0]がArray(a1,b1,c1,d1,...)の時、
$x[1] = $s;としたら、
$xがArray(a2,b2,c2,d2,...)で上書きされてしまいました。
566デフォルトの名無しさん (ワッチョイ 5d01-QEAr)
2021/08/04(水) 15:33:03.22ID:QhYrANy70 $s=Array(a2,b2,c2,d2,...); です。
567デフォルトの名無しさん (ワッチョイ 5d01-QEAr)
2021/08/04(水) 15:44:34.90ID:QhYrANy70 foreach とか for とか使うしかないでしょうか?
568565-567 (ワッチョイ 5d01-QEAr)
2021/08/04(水) 16:12:58.96ID:QhYrANy70 foreach とか for で、解決しました。
569デフォルトの名無しさん (ワッチョイ 9a2c-QEAr)
2021/08/04(水) 16:36:34.91ID:BE8GLseK0 Ruby なら、zip で複数の配列を、組み合わせられる
ary_1 = [ 1, 2, 3 ]
ary_2 = [ 10, 20, 30 ]
p tmp_ary = ary_1.zip( ary_2 )
#=> [[1, 10], [2, 20], [3, 30]]
p results = tmp_ary.map{ |a, b| a + b }
#=> [11, 22, 33]
ary_1 = [ 1, 2, 3 ]
ary_2 = [ 10, 20, 30 ]
p tmp_ary = ary_1.zip( ary_2 )
#=> [[1, 10], [2, 20], [3, 30]]
p results = tmp_ary.map{ |a, b| a + b }
#=> [11, 22, 33]
570デフォルトの名無しさん (ワッチョイ d108-1vA1)
2021/08/04(水) 19:56:28.27ID:JeeF5Fq/0 ゴミのような流れに草w
571デフォルトの名無しさん (ワッチョイ 3a7c-Gkqf)
2021/08/04(水) 20:48:03.21ID:nRiwNpi/0 相変わらずRubyガイジがPHPのスレを荒らしに来るw
572デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 00:28:51.82ID:F8+XC2Dv0 PHPで接続を明示的に切る方法ってある?
本処理後、後処理としてDBの整理を行うのだが、
本処理と後処理が同程度の重さになるので、可能であればTCP接続を明示的に切りたい。
そうすればブラウザが確実に処理を始めるので、クライアント側の体感速度が上がることを期待している。
とりあえずfush()はした。出力バッファは使ってないので、ob_xxxxはやってない。
他に何かある?
本処理後、後処理としてDBの整理を行うのだが、
本処理と後処理が同程度の重さになるので、可能であればTCP接続を明示的に切りたい。
そうすればブラウザが確実に処理を始めるので、クライアント側の体感速度が上がることを期待している。
とりあえずfush()はした。出力バッファは使ってないので、ob_xxxxはやってない。
他に何かある?
573デフォルトの名無しさん (ワッチョイ 5d01-pCDs)
2021/08/05(木) 00:42:12.36ID:N2Iw/qnR0 意味不明
574デフォルトの名無しさん (ワッチョイ d563-IKHw)
2021/08/05(木) 00:45:52.55ID:JVVnzoun0 DBがクローズされているなら、PHPへのアクセスは関係ないんじゃ?
というか、設計がおかしくない?
というか、設計がおかしくない?
575デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 01:01:42.06ID:F8+XC2Dv0 ああすまん、書き方が悪かった。
こちらはPHPの初心者なので、そちらが想定しているような高度なことはしていない。
「TCP接続」をDBとの接続だと想定したのだと思うが、こちらはSQLiteだ。
クライアント(ブラウザ)からのアクセスで、SQLiteを操作してhttp出力を行う。
その後、ユーザーに対しての追加の出力はないので、ここでユーザーとのTCP接続(=http接続)を切りたい。
(確かGoかNodeだとこれが出来た)
さらにその後、後処理を行うのだが、これが本処理と同じ程度に重い。
そしてexitで終了する。
ブラウザがexitにてTCP接続が切れてからパースを開始すると、体感2倍重くなってしまう。
flushでデータを全部送りきることは出来るが、
ブラウザはパースしないと全部来たことが分からないので、fulsh後にすぐ動くことは期待出来ない。
http接続が切れれば、それ以上のデータはないと確定するので、パースを確実に開始する。
だからこれを早めたい。
何か明示的に出来る方法ってある?
こちらはPHPの初心者なので、そちらが想定しているような高度なことはしていない。
「TCP接続」をDBとの接続だと想定したのだと思うが、こちらはSQLiteだ。
クライアント(ブラウザ)からのアクセスで、SQLiteを操作してhttp出力を行う。
その後、ユーザーに対しての追加の出力はないので、ここでユーザーとのTCP接続(=http接続)を切りたい。
(確かGoかNodeだとこれが出来た)
さらにその後、後処理を行うのだが、これが本処理と同じ程度に重い。
そしてexitで終了する。
ブラウザがexitにてTCP接続が切れてからパースを開始すると、体感2倍重くなってしまう。
flushでデータを全部送りきることは出来るが、
ブラウザはパースしないと全部来たことが分からないので、fulsh後にすぐ動くことは期待出来ない。
http接続が切れれば、それ以上のデータはないと確定するので、パースを確実に開始する。
だからこれを早めたい。
何か明示的に出来る方法ってある?
576デフォルトの名無しさん (アウアウウー Sa09-d0wC)
2021/08/05(木) 01:28:56.20ID:qQkilq/Na 404のっとファウンドなどのエラーページを自作しる
577デフォルトの名無しさん (ワッチョイ d563-IKHw)
2021/08/05(木) 01:43:30.62ID:JVVnzoun0578デフォルトの名無しさん (スップ Sd9a-0pp8)
2021/08/05(木) 03:48:16.16ID:9Ap3lZssd >>575
〜ここまで本処理
// 結果を待たずに次の行へ進む非同期コマンド
exec('php 後処理.php > /dev/null &');
exit;
もし後処理.phpに何かパラメーターを渡したい場合は
exec('php 後処理.php パラ1 パラ2 パラ3 > /dev/null &');
受け取る側の「後処理.php」の中で$argvに配列として格納されてる
〜ここまで本処理
// 結果を待たずに次の行へ進む非同期コマンド
exec('php 後処理.php > /dev/null &');
exit;
もし後処理.phpに何かパラメーターを渡したい場合は
exec('php 後処理.php パラ1 パラ2 パラ3 > /dev/null &');
受け取る側の「後処理.php」の中で$argvに配列として格納されてる
579デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 06:36:47.33ID:F8+XC2Dv0 >>577-578
なるほど、マルチプロセスだから根本的に考え方が違うんだな。ありがとう。
(だとすると、途中で明示的に接続を切れたのはNodeか?)
マニュアルページが完全にstackoverflow並のtips集になっていることにも驚いた。
https://www.php.net/manual/ja/function.exec
(やたらWindowsについての言及が多いが、意外にIIS上で動かされてるのか?)
見た目同期コマンドだが、出力を捨てれば確かにバックグランウンドで動くらしい。
そしていきなり環境依存コードを注入するというのはプログラマとしては頂けない。
ここら辺のノリがPHPの嫌いなところだ。
プログラマ向けに作ってないから、プログラマの常識でやってると変に嵌ったり、見落としたりする。
とはいえ、便利なのは事実だし、所詮スクリプトだと割り切るのも必要なのだろうけど。
とりあえずの問題は、開発環境がローカルホストのXAMPP(つまりwindows)で、
実行環境がレンタルサーバー(つまりLinux)ってところだが。
まあ、いずれにしてもありがとう。
この質問には確かにexecが正解のように見える。
なるほど、マルチプロセスだから根本的に考え方が違うんだな。ありがとう。
(だとすると、途中で明示的に接続を切れたのはNodeか?)
マニュアルページが完全にstackoverflow並のtips集になっていることにも驚いた。
https://www.php.net/manual/ja/function.exec
(やたらWindowsについての言及が多いが、意外にIIS上で動かされてるのか?)
見た目同期コマンドだが、出力を捨てれば確かにバックグランウンドで動くらしい。
そしていきなり環境依存コードを注入するというのはプログラマとしては頂けない。
ここら辺のノリがPHPの嫌いなところだ。
プログラマ向けに作ってないから、プログラマの常識でやってると変に嵌ったり、見落としたりする。
とはいえ、便利なのは事実だし、所詮スクリプトだと割り切るのも必要なのだろうけど。
とりあえずの問題は、開発環境がローカルホストのXAMPP(つまりwindows)で、
実行環境がレンタルサーバー(つまりLinux)ってところだが。
まあ、いずれにしてもありがとう。
この質問には確かにexecが正解のように見える。
580デフォルトの名無しさん (ワッチョイ 56bb-ds/h)
2021/08/05(木) 06:50:31.72ID:Sb1zsMiv0581デフォルトの名無しさん (ワッチョイ bd7b-LMHu)
2021/08/05(木) 07:24:02.52ID:F8+XC2Dv0 >>580
だから発想が『プログラマとしては』おかしいんだよ。
少なくともNodeでもGoでも、環境依存無しのコードを記述出来る。
PHPでは出来ないのに、それでも良しとされてる。
そういうところが嫌いなんだよ。
覚えだが、上記の通り、明示的に切れたのは多分Nodeだ。
これはそもそもシングルスレッドだから、PHPのようにスクリプト終了=接続終了とは出来ないから当たり前だが。
そしてGoなら内部プロセス(goroutine)で、となる。もちろん環境とは依存しない。
PHPでも、session_write_closeと同様に、例えば write_close() というコマンドを作り、
そこで接続終了、それ以降の出力は全部捨てられます、とすれば、全く問題なく環境依存無しに出来る。
だからプログラマが主導して開発をしていればとっくにそうなってるはずなのに、
現実としてそうなってないから、色々無駄に戸惑う。だから好きにはなれない。
何だかんだで意外とNodeが蔓延っているのは、ここら辺の理由もある。
今回の使途ならJSのsetTimeoutでの実装の方がプログラムとしては断然美しくフィットする。
PHPで書くと、こんなコードにしかならないのかよ、と本当に愕然としてしまう。
腕が良くてもまともなコードを書けないんだよ。
それは上記の通り、PHPの開発の方向性が間違ってるからだ。
(とはいえ例の三項演算子についてはPHP8で修正されてるようだが)
まあとにかくだ、プログラマとしては禁忌に近い「環境依存コードの注入」を普通にやらせるのは異常だし、
そんな状況が放置されてること自体も異常なんだよ。
だからプログラマがPHPを好きになることはないと思うよ。
PHPを好きな奴は、他言語をまともに使えない奴だけだと思う。
だから発想が『プログラマとしては』おかしいんだよ。
少なくともNodeでもGoでも、環境依存無しのコードを記述出来る。
PHPでは出来ないのに、それでも良しとされてる。
そういうところが嫌いなんだよ。
覚えだが、上記の通り、明示的に切れたのは多分Nodeだ。
これはそもそもシングルスレッドだから、PHPのようにスクリプト終了=接続終了とは出来ないから当たり前だが。
そしてGoなら内部プロセス(goroutine)で、となる。もちろん環境とは依存しない。
PHPでも、session_write_closeと同様に、例えば write_close() というコマンドを作り、
そこで接続終了、それ以降の出力は全部捨てられます、とすれば、全く問題なく環境依存無しに出来る。
だからプログラマが主導して開発をしていればとっくにそうなってるはずなのに、
現実としてそうなってないから、色々無駄に戸惑う。だから好きにはなれない。
何だかんだで意外とNodeが蔓延っているのは、ここら辺の理由もある。
今回の使途ならJSのsetTimeoutでの実装の方がプログラムとしては断然美しくフィットする。
PHPで書くと、こんなコードにしかならないのかよ、と本当に愕然としてしまう。
腕が良くてもまともなコードを書けないんだよ。
それは上記の通り、PHPの開発の方向性が間違ってるからだ。
(とはいえ例の三項演算子についてはPHP8で修正されてるようだが)
まあとにかくだ、プログラマとしては禁忌に近い「環境依存コードの注入」を普通にやらせるのは異常だし、
そんな状況が放置されてること自体も異常なんだよ。
だからプログラマがPHPを好きになることはないと思うよ。
PHPを好きな奴は、他言語をまともに使えない奴だけだと思う。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★2 [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★3 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」 [ぐれ★]
- 小野田氏、”中国経済への依存“に警戒感 高市首相の国会答弁巡り [煮卵★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 【サッカー】独占入手 最年長JリーガーにW不倫疑惑 『お風呂覗きたいんですが笑』LINE流出も… 慰謝料トラブルを本人に直撃 [冬月記者★]
- 三嶋由紀夫ってネトウヨだったの? [633473628]
- 【画像】セクシー女優・天沢りんさん「お休み頂いてた半年間でこんな体になりました🪽🤍」👉予想通りの展開に [242521385]
- 中国国営放送「日本は琉球をただちに中国に返還せよ」 キタ━━━━(゚∀゚)━━━━!!!!! [314039747]
- SNSで米が高いと投稿すると高市ソルジャーに攻撃される模様 [931948549]
- 【高市悲報】アメリカ戦争省「あのさ、何回シミュレートしてもわーくに中国に負けちゃうんだよね🤗」 [359965264]
- 自民「高市の一言でこれまで積み上げてきた関係が駄目になる。言葉の重みを分かっていない。自分でまいた種は自分で刈り取ってもらう」 [256556981]
