- 1 名前:デフォルトの名無しさん mailto:sage [2021/04/29(木) 12:39:39.75 ID:P0iZ4CYt0.net]
- !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
- 496 名前:デフォルトの名無しさん mailto:sage [2021/07/26(月) 21:10:41.62 ID:B9v6ZV500.net]
- >>487
アップロードは常に気をはれよ https://www.youtube.com/watch?v=oh1gyuqdcH8
- 497 名前:デフォルトの名無しさん mailto:sage [2021/07/26(月) 22:18:00.65 ID:7+uo32oc0.net]
- >>488
俺に気をはれと言われましてもw
- 498 名前:デフォルトの名無しさん [2021/07/26(月) 22:31:24.99 ID:nQwBFtLMr.net]
- >>487
wordpress以外でも同じでしょ? それに管理画面からじゃなくフォルダのディレクトリに置いたファイルの話なんで画像限定じゃないですね phpやcssのファイルでも同様かどうか知りたいです
- 499 名前:デフォルトの名無しさん [2021/07/26(月) 22:44:03.71 ID:nQwBFtLMr.net]
- 画像ファイルのアップロードの時のセキュリティはwordpress関係なく同じでしょ
- 500 名前:デフォルトの名無しさん mailto:sage [2021/07/26(月) 22:56:31.97 ID:7+uo32oc0.net]
- >>491
WPインストールしたらアップロード周りのソース全部読んでセキュリティホール無いことを確認するの? WPで画像表示する時は表示用PHP作ってbase64変換かますの? そして、アップロードする時は常に気をはるの?
- 501 名前:デフォルトの名無しさん [2021/07/27(火) 00:25:56.73 ID:eUxCT57wa.net]
- >>492
そんなことはしませんが、最低限のセキュリティは同じでしょ? base64じゃセキュリティにならないからファイルを関数化して複雑なファイル名にする それプラス最低限のセキュリティ、今回は画像なのでMIMEチェック もし自分以外のユーザーが画像を上げるなら 自サイトのページ内に配置された画像としてしかアクセスを禁止する word pressだからセキュリティは要らないっていうのはおかしいでしょ
- 502 名前:デフォルトの名無しさん mailto:sage [2021/07/27(火) 01:30:32.63 ID:7P6684PB0.net]
- >>493
>>487 を読み返してください WPが前提、WPのシステムからアップされたメディアファイルの話し 更に言えば、このスレに住み着いてるWPガイジへのレス(アンカー見ればわかるでしょう)で自分で弄ることが前提 そして事の発端は >>指定画像を出力したうえでメニューを作りたい だからね? >そんなことはしませんが と仰られるように、前のレスの質問にNoと言うことはWPのシステムのセキュリティをある程度信頼してるわけですよね この件ではそれで十分だろうと言う話ですよ セキュリティの一般論の話なんてしてませんよ
- 503 名前:デフォルトの名無しさん mailto:sage [2021/07/27(火) 01:51:04.21 ID:sIvc9ZAG0.net]
- ここはPHPの質問をするスレ
WPの質問なら移動してください
- 504 名前:デフォルトの名無しさん mailto:sage [2021/07/27(火) 04:39:04.62 ID:x4yitIm80.net]
- Word Press の質問は、web制作管理板のスレの方へ移動してください!
Laravel のスレも、この板に立てている香具師がいる。 Laravelの質問は、WEBプログラミング板の方へ!
- 505 名前:デフォルトの名無しさん mailto:sage [2021/07/27(火) 06:50:44.81 ID:L674X5NC0.net]
- >>496
お前が言うな Rubyバカ
- 506 名前:デフォルトの名無しさん mailto:sage [2021/07/27(火) 07:09:26.40 ID:CFpUohJoM.net]
- WPスレにいる者だが絶対こっち来るなよ
ガイジ過ぎて手に負えんわ
- 507 名前:デフォルトの名無しさん mailto:sage [2021/07/27(火) 08:14:32.01 ID:SyBbAbx40.net]
- 質問は>>485であってwordpress関係ないだろ
>>487が勝手にwordpressだって決めつけてる 質問も意味不明だけどね、何を聞きたいのか簡潔にしてほしい > つーかWPスレ池 お前がいけよw
- 508 名前:デフォルトの名無しさん [2021/07/27(火) 09:02:44.68 ID:opDlelu60.net]
- るびースレに行ってもらえば万事解決するんじゃないかな
- 509 名前:デフォルトの名無しさん mailto:sage [2021/07/27(火) 09:30:06.62 ID:7P6684PB0.net]
- >>458 の質問者は少し前のWPのページネーションの奴だし、そいつは更に前のRSSの奴でもある
ってことでこのスレに住み着いてるWPガイジであることは確定なんですわw 何が気に食わないのか知らんけど残念だったねwww https://teratail.com/users/homepage-site#question
- 510 名前:デフォルトの名無しさん mailto:sage [2021/07/27(火) 10:01:53.85 ID:DZV4D5nN0.net]
- >>493
セキュリティと権限をごっちゃにしてそう
- 511 名前:デフォルトの名無しさん mailto:sage [2021/07/27(火) 15:53:11.92 ID:Dog97BpdF.net]
- >>495
ほんそれ
- 512 名前:デフォルトの名無しさん mailto:sage [2021/07/28(水) 10:44:10.50 ID:5Wbud5da0.net]
- >>485
関連レスをザッとだけ読んだけど、スレ回答者の中にもおかしな事を言ってるやつはわりといる いちいち指摘してたらキリないから割愛するが、スレ回答者の皆が実務経験豊富なプロってわけじゃないからなぁ… でもお前さんも、自分が「思い込みが激しくて頭が固いタイプ」だって事は自覚しよう rssの質問のときも、print_r($rss); とするだけで理解できる筈の事を理解できず、質問を繰り返してたでしょ? だからスレが荒れるんだよ? 分かる?
- 513 名前:デフォルトの名無しさん mailto:sage [2021/07/28(水) 10:44:53.11 ID:5Wbud5da0.net]
- >>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」を用意する
- 514 名前:デフォルトの名無しさん mailto:sage [2021/07/28(水) 10:46:52.30 ID:5Wbud5da0.net]
- >>485
>>505に書いたoutput_image.phpの仕様がもし output_image.php?path=img/abc/123.jpg のように、画像のパスを渡したらその内容をそのまま表示するとなっていた場合、「パストラバーサル」と呼ばれる脆弱性が発生する危険性がある 例えば、pathの値が「img/../../../secret.txt」だった場合、意図せずsecret.txtの中身が第三者に読まれてしまうって事ね だから、そうならないようpathの値をしっかりチェックしないといけないのだけど、一連の質問を見ている感じ、あなたにそれを自前でやるのは無理だと思う なので、「ファイルパスを渡す」のではなく、最初の例のように「画像を識別できるIDを渡す」ようにすればいい ※?path= で値を受け取るPHPをインターネット上に公開し、ログを取ってみるといい ※笑うぐらい攻撃があちこちから飛んでくるのが確認できるから
- 515 名前:デフォルトの名無しさん mailto:sage [2021/07/28(水) 10:50:19.40 ID:5Wbud5da0.net]
- >>485
最後に アップロード処理が管理者にしかできない = 第三者に変なファイルをアップされる心配がないのであれば、 <img src="img/abc/123.jpg"> で別にええのよw img/abc/123.jpg というファイルパスを第三者に知られたくないなら、>>505の例のように「間にPHPをかまして出力」すれば良いってだけ 逆に、第三者に変なファイルをアップされる心配があるのであれば、「アップロード処理の際に(出力の時ではなく)」厳密なチェック処理をしないとダメ それについては、>>466さんも紹介してくれている https://qiita.com/mpyw/items/939964377766a54d4682 を読めばいい ・第三者が自由にファイルがアップロードできる ・アップロード処理の際に上記のようなチェック処理ができてない ・アップロードされたファイルへ第三者がアクセスできる 3つの条件を満たしているとセキュリティ的にヤバいよねってだけ 例えば、「任意のファイルを自由に読み書きできるPHPファイル」をアップロードしそれがそのまま実行できたらヤバいでしょ? 分かる?
- 516 名前:デフォルトの名無しさん [2021/07/28(水) 12:52:23.66 ID:9bJDIHUz0.net]
- 釣り質問にマジレスすんなよアホ
- 517 名前:デフォルトの名無しさん mailto:sage [2021/07/28(水) 12:58:32.36 ID:pYNLf1nF0.net]
- 釣りレスですしw
- 518 名前:デフォルトの名無しさん mailto:sage [2021/07/28(水) 16:52:40.91 ID:5Wbud5da0.net]
- >>476
ゴミレスに埋もれて気づかなかったw PHPの記述を exec('ipconfig', $message); ↓ exec('chcp 932 | ipconfig', $message); に変えたら上手くいくと思う 932はCP932(SJIS)の事ね
- 519 名前:デフォルトの名無しさん mailto:sage [2021/07/28(水) 16:54:11.72 ID:5Wbud5da0.net]
-
- 520 名前: class="reply_link">>>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のバージョンぐらいは書いた方がいいが []- [ここ壊れてます]
- 521 名前:デフォルトの名無しさん [2021/07/28(水) 20:23:13.38 ID:jpPdNADXr.net]
- >>507
それをあわせてファイルをチェックするのが MIMEチェックをして画像を表示させる前に、画像ファイルである事を確認するってことですよね? 画像をecho '<img src="data:image/jpeg;base64,' . base64_encode(file_get_contents('img/abc/123.jpg')) . '">';で表示して MIMEチェックするのがそんなに難しいことなんですか?
- 522 名前:デフォルトの名無しさん mailto:sage [2021/07/28(水) 21:08:58.35 ID:IWCDcnnv0.net]
- >>510
どうもありがとうございます! とても助かりました
- 523 名前:デフォルトの名無しさん mailto:sage [2021/07/28(水) 22:44:28.91 ID:5Wbud5da0.net]
- >>512
MIMEのチェックが必要なのは、「第三者が」画像の「アップロードをするとき」の話ね 画像を表示させる前にそんなものは要らない > MIMEチェックするのがそんなに難しいことなんですか? PHPでアップロード処理した際、MIMEタイプは $_FILES['hoge']['mime'] に入るんだけど、 それは偽装できる だからその値は信用せず mime_content_type() などで別途チェックしようってこと 当たり前だが、自分しかアップロードしないならそんなチェックはしなくていい つかさ、「自分(管理者)しか画像をアップロードしない」のか それとも「第三者も画像をアップロードする」のか、 まずはそこをハッキリさせるべき だから回答もめちゃくちゃになる
- 524 名前:デフォルトの名無しさん mailto:sage [2021/07/29(木) 05:06:26.04 ID:Bm0Z0U0B0.net]
- 画像データの中に、ウイルスなどを入れてくるかも知れない
だから、本当に画像形式なのか、全バイト調べる必要がある
- 525 名前:デフォルトの名無しさん mailto:sage [2021/07/29(木) 05:43:31.56 ID:4AVEtKuA0.net]
- >>514
> 当たり前だが、自分しかアップロードしないならそんなチェックはしなくていい これ、管理画面からしか画像アップロードを許さないって状況を言ってるんだと思うけど、その場合もちゃんとチェックすべき 他の脆弱性と合わせて管理者権限でアップロードする手口があるので、このへんで手は抜かないほうがいい
- 526 名前:デフォルトの名無しさん mailto:sage [2021/07/29(木) 09:05:26.98 ID:rmmFdFBh0.net]
- 自分で変なファイル置いちゃうかもしれんしな
- 527 名前:デフォルトの名無しさん [2021/07/29(木) 09:20:26.22 ID:zpf7CT600.net]
- え?お前らSFTPで画像アップロードする時なんかもMIMEタイプのチェックやってるの?
管理者権限奪取されるような状況でMIMEタイプのチェックなんか意味ないだろw
- 528 名前:デフォルトの名無しさん [2021/07/29(木) 09:39:40.25 ID:rmmFdFBh0.net]
- 自分WPしらんから適当言ってる
- 529 名前:デフォルトの名無しさん mailto:sage [2021/07/29(木) 11:01:03.28 ID:CBbl/boe0.net]
- >>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() でそれをそのまま出力しても問題はないさ
- 530 名前:デフォルトの名無しさん mailto:sage [2021/07/29(木) 11:02:30.36 ID:CBbl/boe0.net]
- >>520の話は俺より先に
ID:7+uo32oc0 さんが指摘してるし、>>494さんもそれをフォローしてる そこへゴチャゴチャ言うのがいるから話がこじれる 453は「HTMLとPHPの役割分担すら理解できてないヤベー人」なわけで、 そんな人へゴチャゴチャ言っても理解できるわけがないのにさ WPスレへ行けといくら書こうが無駄なのだし、 さっさと問題を解決しスレから居なくなってもらうのがベターかと
- 531 名前:デフォルトの名無しさん mailto:sage [2021/07/29(木) 11:13:22.62 ID:WLwj6dDv0.net]
- 当人は自分宛レスに書かれた内容の三割も理解出来ていなさそう
- 532 名前:デフォルトの名無しさん [2021/07/29(木) 11:17:31.59 ID:HtmB+4p50.net]
- セキュリティの一般論なんか持ち出すのがいけない
- 533 名前:デフォルトの名無しさん mailto:sage [2021/07/29(木) 12:43:26.88 ID:Bm0Z0U0B0.net]
- >>520
>だったら >>453 も単に <img src="ttps://example.com/wp-content/uploads/○○.jpg"> とすれば終わりの話 公開ディレクトリなのに、URL で書かないといけないの? 相対パスで書けないの?
- 534 名前:デフォルトの名無しさん mailto:sage [2021/07/29(木) 12:51:10.23 ID:ELCmA1Vb0.net]
- もう当人居なくなってるだろ
- 535 名前:デフォルトの名無しさん mailto:sage [2021/07/29(木) 13:05:58.67 ID:k08R/6yd0.net]
- >>521
ID:7+uo32oc0 と >>494 はワッチョイ見れば同一人物ってわかるよ そして私だ!フォローthx! あとね ワッチョイ 532c-MYQi ID:Bm0Z0U0B0 はRubyガイジなんでスルー推奨
- 536 名前:デフォルトの名無しさん mailto:sage [2021/07/29(木) 13:14:38.56 ID:kQQSV7PN0.net]
- こいつサイトに載せるバナーイラストをお絵描き板で個スレ立てて練習してるやつと同一かな?
pixivを超えるサイトを作るらしいぞ。だから第三者がアップロードする事に拘ってるんだと思うぞ。
- 537 名前:デフォルトの名無しさん mailto:sage [2021/07/29(木) 15:46:28.70 ID:1U+sby820.net]
- >>524
WPではアップした画像がWPを通して表示される時は絶対URLで記載される
- 538 名前:デフォルトの名無しさん mailto:sage [2021/07/29(木) 18:37:55.60 ID:CBbl/boe0.net]
- >>526
たしかに同一人物だ あまりにも口調が違うから気づかなかったw Rubyガイジの件もサンクス これも気づいてなかった >>528 だね フィルタ使って 'attachment_link' や ''wp_get_attachment_url' に対し絶対URLを相対パスへ変換するフィルタを適用すれば 相対パスに変える事もできるけどね 526が教えてくれたけど、524はRubyガイジみたいだから相手にしなくていいよ
- 539 名前:デフォルトの名無しさん mailto:sage [2021/07/29(木) 18:43:11.67 ID:CBbl/boe0.net]
- Rubyガイジのレベルは>>483見ればお察しやねw
WordPressスレ見てみたけど、そっちにもRubyガイジが顔出してるしスレがまともに機能してなかった そりゃこっちに来るわ
- 540 名前:デフォルトの名無しさん [2021/07/30(金) 15:35:03.64 ID:B9OLCwSG0.net]
- 2005年前後にに発行されたPHPの本がたくさんあります
バージョン4や5辺りです 以前はこれらの本を見ながら簡単なことをやったりしていましたがもう完全に忘れています 今、小さな店のweb予約システムをPHPで作りたいと思っています 今はPHPのバージョン7か8でしょうか 新規に本を揃えた方がいいですよね? おすすめの本、勉強方法などあったら教えてください スレチであれば誘導お願いします
- 541 名前:デフォルトの名無しさん mailto:sage [2021/07/30(金) 15:41:02.56 ID:c+ndNg5Q0.net]
- バージョン7.3以上がいいよ
残念ながら4や5はもう完全に化石
- 542 名前:デフォルトの名無しさん mailto:sage [2021/07/30(金) 16:28:29.52 ID:7i2immr80.net]
- PHPの本は半分くらい攻撃対策がページを占めてる印象
- 543 名前:デフォルトの名無しさん mailto:sage [2021/07/30(金) 17:00:35.86 ID:UtQvC7c20.net]
- >>531
本が必要なら買い換えるべき(最低限PHP7…できれば7.3〜対応のものを ) 作りたいものがはっきり決まってるのはとても良い事 とにもかくにも、まずはローカルにまともな開発環境を作ろう スレの質問を見てると、開発環境を作れていないであろう人の質問は色んな意味でヤバいw 開発環境を作るのははじめは面倒だと思うけど急がば回れ ※533はRubyガイジなので注意
- 544 名前:デフォルトの名無しさん mailto:sage [2021/07/30(金) 19:29:14.24 ID:B9OLCwSG0.net]
- どうせなら新しい8を勉強した方が効率いいかなと思ったんですけど、今使っているレンタルサーバがまだ8に対応してませんでした
7.3以上ですね、わかりやすそうな本を店頭で探してみます 予約システムの作り方とか似たようなものがないかも探してみよう ローカルの環境開発、どの本にも書いてあったので昔入れてました 懐かしい これも入れておきます いつ完成するかわかりませんが久しぶりで楽しみです アドバイスありがとうございした
- 545 名前:デフォルトの名無しさん [2021/07/30(金) 19:29:28.58 ID:r27NHL07r.net]
- img.phpを用意して<img src="output_image.php?id=12123">
header.phpのbodyに<img src="output_image.php?id=12123">と追加したのですが表示されないようです。 output_image.php?idで画像を表示できるのでしょうか?
- 546 名前:蟻人間 mailto:sage [2021/07/30(金) 19:34:30.43 ID:GDRR8sIEd.net]
- 確認します。
img.phpというファイルはありますか? output_image.phpというファイルはありますか? output_image.php?id=... に直接アクセスして画像は表示されますか?
- 547 名前:デフォルトの名無しさん [2021/07/30(金) 19:40:25.38 ID:r27NHL07r.net]
- 画像パスがupload.php?item=12123となっているのに対し
<img src="upload.php?id=12123">では取得できない気がするのですが、idから取得できるんでしょうか?
- 548 名前:デフォルトの名無しさん [2021/07/30(金) 19:46:25.67 ID:r27NHL07r.net]
- output_image.phpというファイルを作って中に<img src="upload.php?id=12123">
header.phpのbodyに<img src="upload.php?id=12123">と記載しても表示されません 直接output_image.php?id=12123にアクセスしても表示されないようです
- 549 名前:デフォルトの名無しさん [2021/07/30(金) 19:58:25.74 ID:r27NHL07r.net]
- wordpressの場合特殊なのか、idから画像をリサイズして表示するときに<php echo wp_get_attachment_link( 12123 ); ?>で表示されました。
テンプレートタグ/wp get attachment link - WordPress Codex 日本語版
- 550 名前:デフォルトの名無しさん mailto:sage [2021/07/30(金) 19:58:58.68 ID:ScATWV4k0.net]
- そらそうだろ
- 551 名前:デフォルトの名無しさん [2021/07/30(金) 20:00:25.98 ID:r27NHL07r.net]
- いずれはwordpressではなくデータベース軸でサイトを立ててみたいので、output_image.php?id=...で
なぜ表示できないのかも知りたいんですが…
- 552 名前:デフォルトの名無しさん [2021/07/30(金) 20:09:34.89 ID:r27NHL07r.net]
- <php echo '<img src="data:image/jpeg;base64,' . base64_encode(file_get_contents('wp-content/uploads/2021/07/7mgpH3K.jpg')) . '">';?>
だと同じように表示されました。教えていただきありがとうございます。 第三者がアップロードするかどうかでセキュリティを考えるんですね、コメントしかりページナビしかりマイページ機能しかり。
- 553 名前:蟻人間 mailto:sage [2021/07/30(金) 20:34:44.87 ID:GDRR8sIEd.net]
- WordPressはWPの作法に従わないと動かないことがあるよ。裏でCSSやら.htaccessやらJavaScriptやらが動いていて、実際の処理は隠蔽されてるから。
- 554 名前:デフォルトの名無しさん [2021/07/30(金) 21:45:55.50 ID:r27NHL07r.net]
- >>544
ありがとうございます
- 555 名前:デフォルトの名無しさん [2021/07/30(金) 21:52:20.21 ID:r27NHL07r.net]
- > 「不正な画像をアップロード」できるのも内部犯に限られることになる
XSS を利用して不正アップロードする手口が徳丸さんのとこで紹介されていました。 https://www.youtube.com/watch?v=FpCabifwhKg WordPress なら外部から似たような攻撃でアップロードされる可能性があるので、プログラムレベルでも適切にアップロード対策をしておくべきだと思います。 このような回答が追加されていたのですが外部からも勝手にアップロードされる危険性はあるのでしょうか?
- 556 名前:デフォルトの名無しさん mailto:sage [2021/07/30(金) 23:36:35.91 ID:1geFHcN20.net]
- ありますよ。実際に自分はアップローダーからマルウェア仕込まれて
VPSサーバーを総入れ替え舌経験があります。 WordPress宛の攻撃は毎日あるし、できる対策は全てしたほうが良いでしょうね
- 557 名前:デフォルトの名無しさん [2021/07/31(土) 01:52:34.20 ID:v7hkUDSma.net]
- この動画を見たところ検索フォーム?のXSS対策コードの記載漏れから不正コードを入力されて管理画面に侵入されたみたいですが
要するに第3者が侵入出来るような検索フォームやお問い合わせフォームやコメントフォームやマイページの対策を怠らない事で防げるということですよね? 自分のみがアップロードする場合は該当しないのでしょうか?
- 558 名前:蟻人間 mailto:sage [2021/07/31(土) 03:18:27.24 ID:ZYWMYotdd.net]
- 脆弱性は様々な枯れてない技術から発見されている。あのWPだってあちこちからゼロデイ攻撃が見つかっている。WP のテーマやプラグインにも脆弱性がある。度重なる更新や脆弱性に対応できないならWPを使うのをやめた方がいい。
パスワードセキュリティにも危険性がある。パスワードはセキュリティの基本であり、5文字程度の単純なパスワードはパスワードクラッカーで短い時間で突破されてしまう。攻撃者は性能の高い計算能力を持ち、世界中のどこからでも攻撃できる。パスワードは単純なのはダメ、短いのはダメ、憶測できるのはダメ。 あるいはソーシャルハッキングや電波漏れなどの未知のハッキング手法からも攻撃が成立することがある。 こうすれば絶対にハッキングされないという方法はないが、危険性が高いものを避けることは可能。
- 559 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 10:31:19.92 ID:fqpnvpaJ0.net]
- >>548
WordPressの場合、自分は管理画面のURL変えてIP制限入れてますよ。 自分のみがアップロードなら、自分しか使えないIPアドレス制限した方がいいし、 ホスト名とか環境変数とか、そこまでチェックした方が確実だと思います。 ま、一番良いのはWordPress使わないことですけどね
- 560 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 10:46:33.80 ID:z/SvtBD30.net]
- >>550
動画見ろよ IPの制限無関係に投稿する仕組みの紹介だぞ
- 561 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 11:04:47.11 ID:JJoM48pY0.net]
- わざとセキュリティホール作って、ほらね?危ないでしょ?ってアホかよw
まずWPに同じセキュリティホールあるかの議論が先だろw 無いけどw
- 562 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 11:34:42.98 ID:z/SvtBD30.net]
- >>552
ユーザ投稿のプレビュー箇所とアップロード機能を持つ管理画面って,WordPressで頻繁に見るんだが? それぞれに問題箇所があるとwebshell置かれて終了!の可能性を指摘する動画だけど、理解できてる?
- 563 名前:デフォルトの名無しさん [2021/07/31(土) 11:37:50.11 ID:BUpo1U8M0.net]
- プログラムで例えば4×4のマップがあった場合、4という数字は私は格子点数と呼んでいますが、皆さんは何と呼びますか?
- 564 名前:デフォルトの名無しさん mailto:sage [2021/07/31(土) 18:56:05.10 ID:JJoM48pY0.net]
- >>553
一連の流れでセキュリティの指摘をしたわけではなく、ただ動画を宣伝したかっただけなんですね! 理解できましたw
- 565 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 10:21:18.11 ID:JwyUb7gK0.net]
- >>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 みたいに直接パスを渡すような設計にしてると、あなたのレベルでは危ないよってだけ
- 566 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 10:45:18.84 ID:JwyUb7gK0.net]
- >>546
> 外部からも勝手にアップロードされる危険性はあるのでしょうか? そりゃ「可能性」はあるよw 人間が作るものにバグ(脆弱性)がないものなんてない で、>>546にはその動画の意味は理解できる? 理解できてないよね 理解できてないのに、何をどうやって「対策」するの?w その動画に指摘されている脆弱性は、「プラグインのXSS脆弱性を悪用した攻撃」なので、 対策といったところで、あなたのレベルでできるのは「WP本体やプラグインは常に最新版を使う」事ぐらいだよ? ※その動画の攻撃例は管理画面にIP制限なんかしても無駄ですw 結局、「画像は546本人しかアップロードしない」んだよね? だったら、「アップロードした画像には問題ない」事を前提に話を進めようよ 546は、「HTMLやPHPの基礎がないままWordPressから始めた」のがいけない 基礎がガタガタなの そんな人が細かい事を気にしたところで、話は前に進まんよ
- 567 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 10:50:01.92 ID:JwyUb7gK0.net]
- >>552
>>555 546の動画の例は、WordPressでECサイトを構築する際の「超定番」プラグインEC-CUBEのXSS脆弱性を悪用したもので、 「実際に悪用事例も出た」ものだけどね… そんな事すら理解できないなら、横からしゃしゃり出てこずに黙っておけw
- 568 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 10:59:23.86 ID:JwyUb7gK0.net]
- >>546
>>557に補足しとくと、WordPress本体・プラグイン・テーマファイルの致命的な脆弱性を悪用され、 WordPress権限から自由にファイルのアップロード・編集が可能になった場合、 サーバー内の画像をPHP経由で出力する際のセキュリティ(笑)なんか、いくら考えても無駄ですw その点については>>518さんが指摘している通り 例えるなら、「ヘルメットを被っていたら快速電車にダイブしても大丈夫だよね?」って聞いてるみたいもんw だから、自分しかアップロードしない画像ファイルは安全であるという前提で、話を進めようよ…いや頼むからそうしてくれw てかRSSの時もそうだけど、たったこんだけの事にどんだけ時間かけてるのよw
- 569 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 11:36:09.87 ID:CDsmjzwf0.net]
- いいから構うやつもまとめてWPスレ行って帰ってくるなよ
- 570 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 11:55:16.38 ID:jY8DN4600.net]
- 自演ですし
- 571 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 14:06:37.03 ID:LY8fDkppd.net]
- 最初から自分しかアップロードしない前提なのにどんだけレスしたら気が済むの、このセキュリティガイジ
- 572 名前:デフォルトの名無しさん mailto:sage [2021/08/02(月) 14:39:06.84 ID:nA0UljqA0.net]
- セキュリティガイジは別人だろ
ガイジなのは質問者、それに対しセキュリティ全波の話を持ち出してる人、煽るしか能のない人
- 573 名前:蟻人間 mailto:sage [2021/08/02(月) 14:51:48.05 ID:LkFRX9kvd.net]
- >>554
普通にサイズでよくね?
- 574 名前:デフォルトの名無しさん mailto:sage [2021/08/04(水) 15:31:27.53 ID:QhYrANy70.net]
- 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,...)で上書きされてしまいました。
- 575 名前:デフォルトの名無しさん mailto:sage [2021/08/04(水) 15:33:03.22 ID:QhYrANy70.net]
- $s=Array(a2,b2,c2,d2,...); です。
- 576 名前:デフォルトの名無しさん [2021/08/04(水) 15:44:34.90 ID:QhYrANy70.net]
- foreach とか for とか使うしかないでしょうか?
- 577 名前:565-567 mailto:sage [2021/08/04(水) 16:12:58.96 ID:QhYrANy70.net]
- foreach とか for で、解決しました。
- 578 名前:デフォルトの名無しさん mailto:sage [2021/08/04(水) 16:36:34.91 ID:BE8GLseK0.net]
- 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]
- 579 名前:デフォルトの名無しさん mailto:sage [2021/08/04(水) 19:56:28.27 ID:JeeF5Fq/0.net]
- ゴミのような流れに草w
- 580 名前:デフォルトの名無しさん mailto:sage [2021/08/04(水) 20:48:03.21 ID:nRiwNpi/0.net]
- 相変わらずRubyガイジがPHPのスレを荒らしに来るw
- 581 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 00:28:51.82 ID:F8+XC2Dv0.net]
- PHPで接続を明示的に切る方法ってある?
本処理後、後処理としてDBの整理を行うのだが、 本処理と後処理が同程度の重さになるので、可能であればTCP接続を明示的に切りたい。 そうすればブラウザが確実に処理を始めるので、クライアント側の体感速度が上がることを期待している。 とりあえずfush()はした。出力バッファは使ってないので、ob_xxxxはやってない。 他に何かある?
- 582 名前:デフォルトの名無しさん [2021/08/05(木) 00:42:12.36 ID:N2Iw/qnR0.net]
- 意味不明
- 583 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 00:45:52.55 ID:JVVnzoun0.net]
- DBがクローズされているなら、PHPへのアクセスは関係ないんじゃ?
というか、設計がおかしくない?
- 584 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 01:01:42.06 ID:F8+XC2Dv0.net]
- ああすまん、書き方が悪かった。
こちらはPHPの初心者なので、そちらが想定しているような高度なことはしていない。 「TCP接続」をDBとの接続だと想定したのだと思うが、こちらはSQLiteだ。 クライアント(ブラウザ)からのアクセスで、SQLiteを操作してhttp出力を行う。 その後、ユーザーに対しての追加の出力はないので、ここでユーザーとのTCP接続(=http接続)を切りたい。 (確かGoかNodeだとこれが出来た) さらにその後、後処理を行うのだが、これが本処理と同じ程度に重い。 そしてexitで終了する。 ブラウザがexitにてTCP接続が切れてからパースを開始すると、体感2倍重くなってしまう。 flushでデータを全部送りきることは出来るが、 ブラウザはパースしないと全部来たことが分からないので、fulsh後にすぐ動くことは期待出来ない。 http接続が切れれば、それ以上のデータはないと確定するので、パースを確実に開始する。 だからこれを早めたい。 何か明示的に出来る方法ってある?
- 585 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 01:28:56.20 ID:qQkilq/Na.net]
- 404のっとファウンドなどのエラーページを自作しる
- 586 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 01:43:30.62 ID:JVVnzoun0.net]
- >>575
クライアントに応答を返すPHPは、応答を返したら、 後処理を行うPHPを起動し、自身はその終了を待たずexitする
- 587 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 03:48:16.16 ID:9Ap3lZssd.net]
- >>575
〜ここまで本処理 // 結果を待たずに次の行へ進む非同期コマンド exec('php 後処理.php > /dev/null &'); exit; もし後処理.phpに何かパラメーターを渡したい場合は exec('php 後処理.php パラ1 パラ2 パラ3 > /dev/null &'); 受け取る側の「後処理.php」の中で$argvに配列として格納されてる
- 588 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 06:36:47.33 ID:F8+XC2Dv0.net]
- >>577-578
なるほど、マルチプロセスだから根本的に考え方が違うんだな。ありがとう。 (だとすると、途中で明示的に接続を切れたのはNodeか?) マニュアルページが完全にstackoverflow並のtips集になっていることにも驚いた。 https://www.php.net/manual/ja/function.exec (やたらWindowsについての言及が多いが、意外にIIS上で動かされてるのか?) 見た目同期コマンドだが、出力を捨てれば確かにバックグランウンドで動くらしい。 そしていきなり環境依存コードを注入するというのはプログラマとしては頂けない。 ここら辺のノリがPHPの嫌いなところだ。 プログラマ向けに作ってないから、プログラマの常識でやってると変に嵌ったり、見落としたりする。 とはいえ、便利なのは事実だし、所詮スクリプトだと割り切るのも必要なのだろうけど。 とりあえずの問題は、開発環境がローカルホストのXAMPP(つまりwindows)で、 実行環境がレンタルサーバー(つまりLinux)ってところだが。 まあ、いずれにしてもありがとう。 この質問には確かにexecが正解のように見える。
- 589 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 06:50:31.72 ID:Sb1zsMiv0.net]
- >>579
ローカルコマンド叩くのに環境依存がない言語なんてあるわけ無いだろ 嫌いになるのは勝手だけど、アホな理由で嫌いになるなよ
- 590 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 07:24:02.52 ID:F8+XC2Dv0.net]
- >>580
だから発想が『プログラマとしては』おかしいんだよ。 少なくともNodeでもGoでも、環境依存無しのコードを記述出来る。 PHPでは出来ないのに、それでも良しとされてる。 そういうところが嫌いなんだよ。 覚えだが、上記の通り、明示的に切れたのは多分Nodeだ。 これはそもそもシングルスレッドだから、PHPのようにスクリプト終了=接続終了とは出来ないから当たり前だが。 そしてGoなら内部プロセス(goroutine)で、となる。もちろん環境とは依存しない。 PHPでも、session_write_closeと同様に、例えば write_close() というコマンドを作り、 そこで接続終了、それ以降の出力は全部捨てられます、とすれば、全く問題なく環境依存無しに出来る。 だからプログラマが主導して開発をしていればとっくにそうなってるはずなのに、 現実としてそうなってないから、色々無駄に戸惑う。だから好きにはなれない。 何だかんだで意外とNodeが蔓延っているのは、ここら辺の理由もある。 今回の使途ならJSのsetTimeoutでの実装の方がプログラムとしては断然美しくフィットする。 PHPで書くと、こんなコードにしかならないのかよ、と本当に愕然としてしまう。 腕が良くてもまともなコードを書けないんだよ。 それは上記の通り、PHPの開発の方向性が間違ってるからだ。 (とはいえ例の三項演算子についてはPHP8で修正されてるようだが) まあとにかくだ、プログラマとしては禁忌に近い「環境依存コードの注入」を普通にやらせるのは異常だし、 そんな状況が放置されてること自体も異常なんだよ。 だからプログラマがPHPを好きになることはないと思うよ。 PHPを好きな奴は、他言語をまともに使えない奴だけだと思う。
- 591 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 07:52:13.16 ID:Sb1zsMiv0.net]
- >>581
んなアホなことやりたいなら、phpでWebサーバ書けばいい メジャーなのはないけど、ふつうにGitHubにも転がってる そもそもフィトするもんが別にあるんだったらそっち使うのがエンジニアだぞ
- 592 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 08:23:37.05 ID:F8+XC2Dv0.net]
- >>582
だからその発想がおかしいんだよ。フィットしてるなんて到底言えない。 PHPは「できればいい」「動けばいい」で済ませる初心者〜中級者の感覚に合ってる。 だからその層には絶大な支持を受けるが、上級者には支持されない。 実際、PHPが「プログラミング言語として」素晴らしいなんて言ってる上級者は世界中でも誰一人もいないだろ。 connection_closeとかを用意すればいいだけなのに、 外部コマンドで自己ファイルをバックグラウンドプロセスとして起動する、なんて解は、頭がおかしいレベルだ。 自宅から歩いて3秒の場所に自動車で行く、に近い。 以前は「XAMPPなんて捨てろ。どうせ本番環境では動かないし、XAMPPで開発する意味はない」とか言ってる奴も居たが、 実際はこの辺の、それが環境依存コードだと理解出来ないレベルの初心者が勝手にやらかしまくってるだけだと思うよ。 そしてその意味も分からず、「XAMPPなんて捨てろ」だけ真に受けた初心者が、 例えば>>394みたいに、右も左も分からないのにリモート環境で開発する、みたいな、余計におかしな事をやらかす要因となってる。 そしてその根元は、PHP自体に落とし穴がありまくるからだ。 なんでそこで環境依存コードを注入するしか解がないの?というね。 が、まあ、parallelとかphtとかはここら辺の対策用なのかな? それにしても connection_close とかの単純な解の方が断然いいが。
- 593 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 08:42:00.19 ID:Sb1zsMiv0.net]
- >>583
使ってる方からするとWebサーバレベルのハンドリングを意識しなくて良いレベルで抽象化されていることが使いやすいし、不足箇所は最近だとフレームワークが補完してくれている ところで、支持してない上級者って何? サーバサイド言語として、phpが必要ないって言っている人がいる? 普通に用途が合えばphp選択するのがエンジニアだと思うけど?
- 594 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 08:50:37.83 ID:F8+XC2Dv0.net]
- というか、思うにこれはPHPだと「出力用」と「DB整理用」のphpを別にして、
「DB整理用」は別にcronで叩く、というのが一般解なのかな? これ自体も外部依存しているのでよい解ではないが、 ここまで蔓延っているPHPがこの辺の「普通にやる処理」を上手く記述出来ないのもあり得ない。 だとすると、現実的にはこの解なのだろう。 とはいえ、最安のレンタルサーバーだとcronは使えないし、 纏めて整理する時に命中したらその時だけ奇妙に遅くなるわけで、 出来ればマメに整理しておきたいのだが。
- 595 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 08:55:46.01 ID:yR6UN7xmd.net]
- >>583
〜ここまで本処理 //接続が切れてもスクリプトを実行させる ignore_user_abort(true); // メッセージ表示ページへ飛ばす header('Location: 本処理完了しました.html'); flush(); ここから後処理〜 環境依存使わないなら、こんなんでどうですか?
- 596 名前:デフォルトの名無しさん mailto:sage [2021/08/05(木) 09:02:59.57 ID:e8dh7hYU0.net]
- >>583
ソースもないのに誰一人いないとか断言しちゃうから、だらだら長いだけで説得力のない空っぽな主張に見えちゃうんだぞ お前さんの主張を支持する上級者は誰一人いないw
|

|