【PHP】下らねぇ質問はここに 9

■ このスレッドは過去ログ倉庫に格納されています
2017/12/20(水) 18:00:20.28ID:1xaO/YRR0
PHPに関する質問スレです

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 8
http://mevius.5ch.net/test/read.cgi/tech/1489506082/

次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
200デフォルトの名無しさん (ワッチョイ 46d2-a7mP)
垢版 |
2018/05/08(火) 21:46:05.47ID:ZabFV5ph0
>>199

引数なし、return0をするだけの別の関数を作って、同じように呼び出しをしてみましたがだめでした、
やっぱりthis〜の行が何かしら影響を及ぼしてるようです・・・
2018/05/08(火) 22:12:48.09ID:Wxx1HImu0
error_logでファイルにエラー吐いてないのか?
画面出力はエラー出力でHTTPヘッダとか壊れてまともにならんことも多いぞ
202デフォルトの名無しさん (ワッチョイ 46d2-a7mP)
垢版 |
2018/05/08(火) 22:27:49.92ID:ZabFV5ph0
>>201
ためしにエラー出力してみましたが、全く何もでてないようで・・・
203デフォルトの名無しさん (ワッチョイ 46d2-a7mP)
垢版 |
2018/05/08(火) 22:40:25.33ID:ZabFV5ph0
>>194
ですが解決しました!
分岐文の内部でreturn viewができてないのが原因でした
すみませんお騒がせしました
2018/05/09(水) 00:23:01.03ID:SCT1xJRf0
変数の$〜〜の$ってなんて読むの??
ドルなんとかって読んでるんだけど間違い?
2018/05/16(水) 06:54:52.26ID:U06fQouG0
文字列全体を正規表現判定するのってどうすればいいんですか?

入力に不正文字がないかチェックしたいんですけど

pregmatch('/[0-9a-zA-Z]+/', $input)

だと一部にマッチしてもtrueになっちゃうので
文字列全体で数字アルファベットしか使われてないことを確認したいです
2018/05/16(水) 07:46:14.68ID:kggTFXx50
^[0-9a-zA-Z]+$
そういう単純なものは正規表現使うまでもなく
他の関数が用意されてると思ったほうがいい
http://php.net/manual/ja/ref.ctype.php
2018/05/16(水) 07:53:08.47ID:U06fQouG0
ctype_alnumを使えばいいんですね
ありがとうございました!
2018/05/16(水) 08:02:56.78ID:U06fQouG0
あとPHPの配列についてききたいんですけど

a[] = 2;
a[] = 4;

や array(2,4) でつくった場合Cやjavaの配列と同じくメモリ上にvalueだけがならんで
a[1] でアクセスした場合アドレス計算でアクセスされるんでしょうか?

それとも自動的に連想配列になって '1' っていう key を検索するんでしょうか?

メモリにははいるけどキャッシュにははいらないそこそこ大きなテーブルデータを扱ってるので気になりました
209デフォルトの名無しさん (ワッチョイ 89fa-9WOx)
垢版 |
2018/05/23(水) 19:27:20.90ID:Au5e7VGg0
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

Q3682
2018/05/24(木) 10:46:13.86ID:cPlRxlDn0
Q3682
2018/05/24(木) 16:05:36.14ID:6FiN0bsr0
114.149.223.252
212デフォルトの名無しさん (アウアウカー Sa5d-2Zx2)
垢版 |
2018/05/31(木) 15:22:43.39ID:TDljpn4Za
参考書を1ページずつjpgに自炊スキャンしましたが
今あるjpgの奇数ページと偶数ページをくっつけて見開きページの画像にして保存したいと考えました、phpの画像処理ライブラリは
GD
DmImage
ImageMagick
等があるみたいですが
手軽にできるのはどれですか?
2018/06/01(金) 00:15:25.87ID:MAx7uK1fM
そんなのどれ使っても手軽だろw
こんなところに書いて待ってる間に処理一つくらい書けるし、
まずは分かりやすそうなのどれか一つ使って書いてみればいい
2018/06/04(月) 11:58:13.68ID:xotzaECi0
どれもベースがGD
GDに皮をかぶせて使いやすくしたものだが皮の厚さが違う
215デフォルトの名無しさん (ワッチョイ 3315-WL+L)
垢版 |
2018/06/07(木) 16:51:32.87ID:XK0BD38x0
初心者です。。

Class hoge {
public static function aaa (){
echo __CLASS__;
}
public function __construct (){
static::aaa();
}
}
Class piyo extends hoge {}
$var = new piyo();
//hoge
みたいなコンストラクタの中でstaticつけて関数呼び出すのってどういう意味が有るのですか…

static::hogehoge($this);みたいなのがコンストラクタのなかにあるのって
どういうふうに動いてるのかわからないです。
2018/06/07(木) 17:08:53.75ID:GEMO2qjs0
>>215
遅延静的束縛
http://php.net/manual/ja/language.oop5.late-static-bindings.php
217デフォルトの名無しさん (ワッチョイ 3315-WL+L)
垢版 |
2018/06/07(木) 17:37:17.26ID:XK0BD38x0
>>216
遅延的束縛がわからんのです。
コンストラクタの中でやってるからpiyoにならないのかな
static $piyo;
public function __construct(){
static::hoge($this);
}
public static function hoge($this){
return static::piyo = $this;
}

みたいなのときとかもうわけわからん
218デフォルトの名無しさん (ワッチョイ 3315-WL+L)
垢版 |
2018/06/07(木) 17:38:09.15ID:XK0BD38x0
static::$piyoですね
2018/06/07(木) 18:19:33.09ID:GEMO2qjs0
>>217
まんま>>216のマニュアルに書いてあるんだけど読んだの?
220デフォルトの名無しさん (ワッチョイ 3315-psTc)
垢版 |
2018/06/07(木) 19:00:51.08ID:XK0BD38x0
>>219
書いてある?
あんまりインスタンス化して使ってるような例ないぽいけど
221デフォルトの名無しさん (ワッチョイ 3315-psTc)
垢版 |
2018/06/07(木) 23:45:31.41ID:XK0BD38x0
>>217はClass Hogeとして
$aho = new Hoge()とするとインスタンス化した時にHogeの静的プロパティも初期化されるってことだよね。staticとparentがチェーンしてると訳わからんくなる
222デフォルトの名無しさん (ワッチョイ 3315-psTc)
垢版 |
2018/06/07(木) 23:53:42.93ID:XK0BD38x0
Hogeを継承したpooクラスがあったらpooクラスのstaticプロパティも初期化されるけどselfとどう違うのかわからん。。
2018/06/10(日) 00:33:54.58ID:4f+KYqKd0
トランプゲームみたいな感じで写真の入ってるカードを並べ替えさせるゲームを作ろうと思っています。

カードはドラッグして移動可能。
所定の□の近くにくるとカードは□に収まる

こういったことを簡単に実現できるおすすめの言語があったら教えてください。
使ったことのある言語はCとC#だけです。
2018/06/10(日) 01:34:40.62ID:EYgmWGdc0
なぜPHPのスレで聞くのか?
てか、ハブリッシュするプラットフォームに依存する話しだから
それを言わないとだれも答えられない
ロジックだけ実装するならどんな言語でも作れる
2018/06/10(日) 06:39:55.08ID:4f+KYqKd0
>>224
すいません。
スレタイ読み違えて誤爆しました・・・。
2018/06/20(水) 05:45:13.05ID:gdouP6aq0
フォームで受け取ったデータをそのままディレクトリ名にしたいんですけど
ディレクトリ名に使われて危険な文字をはじく関数みたいなのってないですか?
. と / だけはじけば大丈夫なのかな
2018/06/20(水) 08:36:32.28ID:CZWJJc7y0
入力できる文字を絞った方がいいよ
アルファベット数字のみとかにすれば一番無難
それ以外の文字が一文字でも入ってたらエラーで返す
2018/06/20(水) 17:19:49.17ID:gdouP6aq0
なるほどー
ありがとうございます
2018/06/20(水) 18:06:03.26ID:e8FLeNqqa
ctype_alnumのおでましか
230デフォルトの名無しさん (ワッチョイ 46d5-MIFy)
垢版 |
2018/07/02(月) 20:37:50.95ID:WBjy4TX+0
a.php が吐くHTMLに、b.php を差し込むSSIタグを埋めたところ、挙動がおかしい。
サーバは apache、PHPの出力に対してもSSIが効くように設定してある。
どうおかしいって、b.php 出力がSSIタグの位置からズレた場所に挿入され、しかもなんか断片化してる。
a.php と b.php の出力が混ざった感じというか、a.php と b.php が非同期に並行して動いてる感じというか。
a.php や b.php と同等の内容の a.html と b.html を用意し、a.html に b.php や b.html をSSIするケースや、a.php に b.html をSSIするケースでは問題無く、a.php に b.php をSSIするケースだけでおかしい。
原因の心当たりって無い?
2018/07/02(月) 21:13:03.02ID:SCtIQYdLa
ツッコミどころだらけで笑うわ
* SSIはWebサーバの機能(スレ違い)
* その構成にする意味が分からない
* というかSSIってマジ?
2018/07/02(月) 21:16:52.40ID:wd1ntAgJ0
SSIって10年以上ぶりに聞いた
なんでそんなトリッキーなことしてんだw
233デフォルトの名無しさん (ワッチョイ 46d5-MIFy)
垢版 |
2018/07/02(月) 21:25:25.66ID:WBjy4TX+0
>>231
> * SSIはWebサーバの機能(スレ違い)
あぁ、それもそうだ。おっしゃる通り。
残りについては、そういう都合があるとしか言えない。
SSI もまじ。<!--#include ... のやつな。
いろんなもの SSI してるのよ。
2018/07/02(月) 21:37:55.31ID:SCtIQYdLa
SSIの時点でもうアレだけど更にPHPを絡められて試す気がなぁ
2018/07/02(月) 22:05:59.18ID:wd1ntAgJ0
とりあえずApache側の設定か?
同期、非同期の問題ならpreforkとworkerで挙動変わるか試してみるとか
まあ、どっちにせよ激しくスレ違いな気がする
2018/07/04(水) 02:05:21.42ID:D7cT+Okb0
更新履歴〜
みたいなページでSSI使ってたことはある
これはこれで便利やしトリッキー言うほどじゃないだろ

まあ今時としては、SSIみたいな挙動をするphpコード書くだけになるか
237デフォルトの名無しさん (ワッチョイ 1167-HDH5)
垢版 |
2018/07/04(水) 12:23:51.44ID:0wBgZClm0
public function Hoge($hoge)
{
return function () use ($hoge) {
return $this->test_func($hoge);
};
}

こういうのって意味有りますか?
クロージャのとこに$hogeを持ってきても実際には繋がりはないように見えるんすけど
$var = Hoge($hoge)
//$var = function($bar){ return $this->test_func($bar);}
238デフォルトの名無しさん (ワッチョイ 1167-HDH5)
垢版 |
2018/07/04(水) 12:24:35.05ID:0wBgZClm0
クロージャの$hogeと最初の引数の$hogeの繋がり
239デフォルトの名無しさん (ワッチョイ 1167-HDH5)
垢版 |
2018/07/04(水) 12:32:44.93ID:0wBgZClm0
クロージャになっても最初に渡された$hogeは生きてるんやな。。
知らなかった
2018/07/04(水) 13:58:24.36ID:CT674Y3Q0
>>236
PHPを使ってるんだったら
SSIの<!--#include...に該当する処理は
取り込み対象をPHPのコードとして評価したいならinclude、
文字列として評価したいならfile_get_contets()するだけの
1行で済む話

SSIはサーバー環境依存だし今どきSSIが有効になってる古いサーバーを
これから先も使い続けるのか?という疑問もある
2018/07/04(水) 14:03:16.97ID:YNDCbrWOd
SSIってJavaScriptもiframeタグもブラウザ標準ではなかったそれこそ10年以上前の遺物よな
242デフォルトの名無しさん (ワッチョイ 027f-7be3)
垢版 |
2018/07/04(水) 16:51:50.97ID:n4h9hTEh0
このゲーム面白すぎてずっとやってる
https://goo.gl/2UVYAA
243デフォルトの名無しさん (ワッチョイ 45fa-2e90)
垢版 |
2018/07/04(水) 21:46:16.37ID:gFgZc5FG0
CTP
2018/07/04(水) 21:48:15.59ID:dy7fWBja0
メンテしているperlのサイトで確か使ってたな
phpで使おうと思うほど猛者じゃないので勘弁
2018/07/05(木) 16:22:58.50ID:AeL6VB/V0
CTP
246デフォルトの名無しさん (ワッチョイ bf9f-wasm)
垢版 |
2018/07/08(日) 17:52:24.96ID:V6T9ucEP0
PHPでerrnoを取得することはできますか?

やりたいことは、ファイルまたはディレクトリの有無を確認しつつ、
falseだった場合は、ENOENTなのかEACCESなのか知りたいのです。

file_existsとis_readableを組み合わせるしかないですか?
2018/07/08(日) 20:26:44.98ID:X1ZcCvQ00
>>230
せっかくなので分かったことを報告。
SSI にせよ PHP の virtual にせよ apache のサブリクエストが発行される場合、元リクエストとサブリクエストのPHPのインスタンスは同一のものが使い回されるらしく、グローバル変数なんかは共通されるらしい。
恐らく define や include、出力バッファなんかも共有されてると思う。
それでいろいろ思いもよらない挙動を示すっぽい。

ということが分かったので、適当に回避した。
apacheの設定によるところもあるかもしれないけど、そこまで検証してない。
2018/07/08(日) 22:36:55.30ID:QF2djuw30
なんか普通の話だな
グローバル変数なんて使ってたらそんなの当たり前だろ
2018/07/09(月) 11:35:35.05ID:9xuTw2udM
>>246
自己レスです。
ググってたら、それらしきものがありました。
非推奨などもなさそうで行けそうです。
http://php.net/manual/ja/function.posix-strerror.php
2018/07/09(月) 14:41:02.89ID:p8VxNcvv0
>>247
ユーザー定義のグローバル変数や名前空間をもたない定数なんかもう何年も使ったことないけど
2018/07/09(月) 16:51:13.69ID:snrXTXq90
よく分かってないので、スマソ。
モジュール版PHP5.3環境で動かしていたのを、

@ モジュール版5.6環境に移行させる場合
A CGI版5.3環境に移行させる場合

@、Aともにソースコードの書き換えは必須なの?
また、簡単なのはどっち?
2018/07/09(月) 17:11:56.44ID:P+nm3UzA0
それだけじゃなんとも言えんよ…
エスパーでも答えられんと思われ
上の話と同じでグローバル変数とか使ってるとかなら書き換える必要あるかもね
使われてるモジュールやライブラリが対応してるかどうかもあるし
同じ環境を用意して実際に動かしてテストするしかないと思う
2018/07/09(月) 17:22:57.00ID:YsFJMBw40
5.6でサポートやめたり、推奨からは図したりしたものがあれば
良くて警告、悪くて動作せずとなる
やってみないと分からないから、試験環境を作って試すのが最善
2018/07/09(月) 18:02:41.46ID:p8VxNcvv0
5.2.X⇒7.2.Xに以降した環境がいくつもあるけど
PHPコンパイルで何度かこけた(コアに取り込まれて使えなくなってるオプションがあった)ぐらいで
コードを手直しをした記憶が全くないなぁ

逆にどんな書き方をしてたら動かなくなるのやら…
2018/07/09(月) 18:09:44.47ID:U1ydYGt1d
開発を
error_reporting=E_ALL(PHP5.4以前ならE_ALL|E_STRICT)
でしてなかったりすると環境移行でエラー出まくったりするかもな
初心者はまずエラーを正しく出すところから学習しないとな
2018/07/10(火) 02:26:11.43ID:wjyVwwQl0
>>248
同じインスタンスで動くならそりゃそうだろって話だけど、virtual はともかく SSI が同じインスタンスで動かすのが当たり前かと言われれば微妙じゃね?
$_GET みたいなスーパーグローバルとかどうなっちゃうんだよって問題もあるし、実際出力バッファはまぜこぜになって使い物にならないわけだし。
わざわざ SSI でやるのなんて、他所の誰かが作った全く関係ないものを自分の処理と隔離してページ上に取り込みたいなんてケースだったりするわけで、隔離できないならあんまり意味が無いというか。
そういうものだということが分かってりゃやり方考えるからいいんだけど、なんでそうする?っていう仕様だと思う。
PHPそのものの問題じゃないであろうこと引っ張ってすまないけど。
2018/07/10(火) 12:06:55.09ID:0tZHlanb0
前バージョンと同じように、必要なモジュール・ライブラリがロードされていて、
基本的な環境に差異がないのを前提とすれば、
あとは廃止変更された機能や関数が影響を受ける。
なので動かない場所が出てきて、書き換えが必要になる場合はあるが、
それはコードの1%にも満たないぐらいの量のはずだから、
大規模なアプリケーションでも書き換えに1日はかからないだろう。
2018/07/10(火) 16:01:47.12ID:Whumi4Kc0
>>256
> 他所の誰かが作った全く関係ないものを自分の処理と隔離してページ上に取り込みたい
SSIを使う理由になってないしSSI以外の知識がないだけ
サーバーの知識が多少ある人間なら今この時代にSSIを使うのがいかに馬鹿げているかすぐ分かる
2018/07/10(火) 16:24:53.40ID:XJrRuzBNd
SSIもhtaccessも無駄にサーバーに負荷をかけわ、遅いわ、セキュリティリスクの管理もしにくわで何1つ良いことないから無効にしろと大昔に教わったな
結構最近でもSSIインジェクションで資生堂の小会社がが情報漏えい起こしてたけど資生堂みたいな大きなところが未だにSSI使ってることに驚いた
includeしたいだけなら他にいくらでも代替案あるのにさ
2018/07/10(火) 16:34:05.74ID:MaGnmy4dM
SSIインジェクションやらかすようなやつはSQLインジェクションだってやらかしかねないんだから、それはSSIを使わない理由としては弱いでしょ。
261デフォルトの名無しさん (スププ Sd7f-cREG)
垢版 |
2018/07/10(火) 16:43:24.55ID:b+YyloMOd
素人だからよく分かんないんだけど
ssiでincludeするのとhtmlで<iframe> or phpでfile_get_contents するのは何が違うの?
ssiを使う理由って何?
2018/07/10(火) 17:02:12.57ID:MaGnmy4dM
>>261
旧来からのスタイルを踏襲しているとか、
SSIはPHP知らなくてもHTML(と言えるか微妙だが)分かれば使えるってのもあるかもね。
サイト全部がPHPじゃないし、みんながみんなPHP使えるわけじゃないからな。
PHP使うなら PHP の include しても file_get_contents しても、適用できるなら得られる結果は一緒でしょ。
2018/07/10(火) 18:15:06.82ID:lHg/M16h0
>>261
使う理由は特にない

1.SSI/#include file|virtual="path"はpathの中身をそのまま取り込んだ結果を取り込んだ場所で出力する
2.<iframe src="url|local_path">は対象の出力をフレームとして取り込む
3.file_get_contents('url')はurlの出力を取り込む
4.file_get_contents('local_path')はlocal_pathの中身をそのまま取り込む
5.includeは対象を「PHPのコードとして評価する」

1 ≒ 2 ≒ 3 ≠ 4 ≠ 5
だと思っとけばいい
includeとfile_get_contents()が等価なんてのは大嘘なので信じないよう

SSIの#includeに該当する処理は、そのほとんどが<iframe>+αで片付く程度の低レベルの事しかしてないね
繰り返すけど今更使う必要性は全くない過去の遺物です
2018/07/10(火) 18:40:58.20ID:b+YyloMOd
>>263
詳しくありがとう
2018/07/10(火) 18:46:59.92ID:MaGnmy4dM
include と file_get_contents が等価だなんて言ってないぞ。
別のコンテンツを差し込む方法として適用できるケースがあると言ってるだけで。
例えばページのヘッダやらフッタやらを別ファイルに浮かせたとして、それが include できるなら include で、file_get_contents できるなら file_get_contents で差し込めるだろ。
2018/07/10(火) 18:59:01.25ID:Whumi4Kc0
>>265
> PHP使うなら PHP の include しても file_get_contents しても、適用できるなら得られる結果は一緒
一緒じゃないでしょって話だと思う
実際全然違うし
2018/07/10(火) 19:08:22.00ID:MaGnmy4dM
>>266
例えばただのHTMLファイルがあったとして、それを include した場合と file_get_contents 使って出力した場合とで得られる出力結果にどんな違いがあるの?
もちろんただのHTMLじゃないものを扱おうとすれば、得たい出力を得るために適用できないこともあるよ。
>>263 の PHPのコードとして評価するというのも語弊があると思うよ。
パースはテキストとして始まるわけだから。
2018/07/10(火) 19:24:15.15ID:lHg/M16h0
初心者も見てるだろうから実例を出しとく

・test.php
------------
test
<?php
echo $a;
------------
2018/07/10(火) 19:25:00.51ID:lHg/M16h0
・index.php
------------
<?php
$a = 'hoge';

var_dump(file_get_contents('./test.php'));
/*
test
<?php
echo $a;
*/

var_dump(file_get_contents('http://localhost/test.php'));
/*
test
Notice: Undefined variable: a in...($aが定義されていないというエラー)
*/

include './test.php';
/*
test
hoge
*/
------------

この違いを理解してるならこれ以上俺から言う事は何もない
270デフォルトの名無しさん (ワッチョイ 2ad0-kMcx)
垢版 |
2018/07/15(日) 17:40:24.73ID:0ke1s5C30
PHPを勉強している者ですが、
PHPを使ってお問い合わせフォームを作る際に気を付けるべきセキュリティ対策についてのアドバイスをください。

メールの送信までの流れは「入力」→「確認」→「送信」となりました。

入力・・・入力される文字の制限(メールアドレスの欄なら使用可能な文字以外でエラー)
確認・・・出力の前にhtmlspicialchars()を使い無害化
送信・・・?

参考になるサイトや書籍のアドバイスなどもいただけると嬉しいです。
よろしくお願いします。
2018/07/16(月) 06:50:46.92ID:S86tTn750
>>270
とりあえず思い当たることをざっくり。
・SQLインジェクション対策
・セッションハイジャック対策
・HTTPSの確認
・管理者のうっかり対策
・スパムメール基地化の防止

前2つはこの言葉と PHP で検索すれば出てくると思うけど、SQLインジェクション対策にはPDOのプリペアドステートメントとバインドを使うとか、セッションハイジャック対策は個人的には問い合わせフォーム程度ならセッションなんて使わずhiddenでたらい回しにするかな。
HTTPSの確認は、HTTPでアクセスされた場合に受け付けないとかHTTPSにリダイレクトするとかの施策だけど、シンプルなサーバ構成なら $_SERVER['HTTPS'] が 'on' かどうかを見ればいいものの、webサーバの前段に何か(AWS の ELBとか)入れてるとそれじゃダメなこともある。
開発前に HTTP と HTTPS でのアクセス時の違いを phpinfo を diff 取って確認しておくのがいいんじゃないかな。
管理者のうっかり対策ってのは、問い合わせ内容に悪意あるURLなんかが書かれていてもうっかり踏まないようにするとか。
悪意あるURLじゃなくても、管理画面なんかからリンクを直接踏めると referer とかで管理画面のURLが漏れることがある。
スパムメール基地ってのは、もし受け付け時にユーザーにメールを送信する場合、他人のメールアドレスを入力されるとそっちへメールが飛ぶことを悪用されること。
文面に悪意あるURLを書かれると、それを踏まされちゃうかもしれない。
対策はいろいろあると思うけど完璧な対策は難しく、どこかを妥協することになると思う(メール送るのやめるとか)。
272270 (ワッチョイ 2ad0-kMcx)
垢版 |
2018/07/16(月) 14:33:10.45ID:HXh/vnsc0
>>270です。

>>271さん
詳細なレスをくださり、ありがとうございます。
今回いただいたアドバイスを元にセキュリティを強化していきます。
本当にありがとうございました。
2018/07/16(月) 15:47:41.60ID:+45YTdov0
>>272
こんなところで聞くだけじゃなく、本買ってちゃんと勉強した方がいいよ
得丸さんって有名な人が最近本出したから買って損はない
274270 (ワッチョイ 2ad0-kMcx)
垢版 |
2018/07/16(月) 15:53:45.47ID:HXh/vnsc0
>>270です。

>>273さん
書籍情報ありがとうございます。
独学なのでありがたいです。
2018/07/16(月) 16:20:11.41ID:+45YTdov0
>>274
ごめん、名前間違えてた

徳丸 浩
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践

PHPがサンプルで使われてるので参考になると思うよ
276270 (ワッチョイ 2ad0-kMcx)
垢版 |
2018/07/16(月) 19:00:14.50ID:HXh/vnsc0
>>270です。

>>275さん
徳丸 浩ですね 了解しました。
重ね重ねありがとうございました。
277デフォルトの名無しさん (ワッチョイ ead2-1dqK)
垢版 |
2018/07/16(月) 21:18:00.33ID:UPJrQacm0
書きっぷりから本人の気がするな
2018/07/16(月) 21:23:20.97ID:ui8Qw0tX0
練習なら色々気を遣うトレーニングになるからいいけど, 実際に公開する場合にはよく使われてるメールライブラリを使うべきだろうな
2018/07/16(月) 21:31:31.14ID:KfOaKyfW0
>>278
スパムメール基地化に対しての対策とってるライブラリなんて見たこと無い。
正直、自動返信は鬼門だと思う
2018/07/16(月) 22:09:49.12ID:S86tTn750
>>279
それはライブラリでどうこうできる問題じゃなさそうだよね。
個別にトレードオフ見て仕様化してる。
送信されることを緩和するならボットチェック(と言うのか知らんが)入れるとか、本文の悪用防止ならメールに入力本文は転記しないとか入力本文中のURLを伏せて転記するとか、
あるいはそもそもメール送らないとか、悪用元が分かってるならIPアドレスチェックして内部処理変えるとか。
本文転記のニーズは高いから難しいのよね。
2018/07/17(火) 15:39:21.70ID:7HO9UDJa0
自動投稿系のスパムはハニーポットしかけるのが楽

<input type="text" name="mail" value="">
みたいなよくあるname値をもたせたダミーの<input>タグをcssとかで非表示にして
GETやPOSTメソッドでnameの値が飛んできたらスパム扱いにするだけ

初心者でも簡単に実装できるのがメリット
2018/07/24(火) 16:30:53.54ID:noMJmsz30
クラスAを継承したクラスA1、クラスA2を作りました
クラスA1ではB1、クラスA2ではB2クラスをuse Bx as Bとして読み込み
クラスAにクラスBを操作する処理を書けばクラスA1、A2に共通の処理を書かなくて済むかと思ったのですが、名前空間的にnew BとするとクラスAを基準としたパスで読み込もうとしてnot foundになってしまいます
親クラス側から子クラスで読み込む前提のクラスに対しての操作を書く方法はありますでしょうか?
2018/07/24(火) 21:31:33.69ID:hRNBzg1Ya
>>282
コード無いからエスパーするとinterface使え
2018/07/25(水) 23:37:30.51ID:DQL2gxnr0
エスパーすると設計がおかしい
285デフォルトの名無しさん (ワッチョイ f2ab-53i4)
垢版 |
2018/07/26(木) 12:53:46.16ID:kn/Cla8U0
少しマニアックな可能性はありますが
シーサーブログへの自作エディタを作成したいと思っています。
プルダウン方式で時刻を簡単に選んだり
その他を大分楽にすすめる事ができるのが目的です。

PHPでライブドアへの投稿ツールを少し作成してみたり
PHP、pythonあたりを少しだけ知っている、というのが
現状の自分かと分析していますが

ネットで少し検索してもシーサーブログへの投稿のためのプログラムは
PHPであまり引っかかりませんでした。
最終的には、タイトル変更、カテゴリ選択、時刻設定、定型文の挿入あたりの出来る
ツールを目指しているのですが、

スレッドのPHPとは離れますが
もし良いツールが出来るならPerl、Rubyなどもチャレンジしてみるしかないのか、
と思うのですが、

現状、攻めれそうな言語、もしくは方法を・・
本当にすみませんが、大まかなアドバイスでもいただけたら有難いです・・
よろしくお願いします。
2018/07/26(木) 14:21:12.96ID:YpwlC3d50
>>285
結局APIをAPIの仕様に沿って叩くだけなんだから
言語なんか別に何でもいい

SeesaaのAPIはXML-RPC互換らしいが
XML-RPCを採用しているPHP製CMSで有名なのはWordPress
だから情報は豊富にあるかと
287デフォルトの名無しさん (ワッチョイ f2ab-53i4)
垢版 |
2018/07/26(木) 14:36:09.87ID:kn/Cla8U0
>>286
有難うございます。なるほど、そういう事ですか…。

確かにWordPressのそういう解説はある程度あると思われますし、
まずそこを自分も作って、それをシーサー向きにカスタマイズ、
という方向にもっていってみるのが得策ですかね。
プログラム等々色々しっかり理解できていないので
例えば、テストのワードプレスに投稿がうまくいっても
それをシーサーに対応させる、その箇所でいかにも自分はつまずきそうですが…
やってみようと思います!ありがとうございました!
2018/07/26(木) 19:50:32.44ID:3rgn08oe0
formからfileタイプでファイルを送信するとき、一緒にカスタムデータも渡したいんですが
phpでカスタムデータを取得するにはどうすればいいんでしょうか
2018/07/26(木) 20:08:56.19ID:scJUypQr0
カスタムデータってなに
2018/07/26(木) 23:45:01.90ID:IPVWqDZwM
ほんと質問の意味が全く分からんなw
2018/07/27(金) 01:47:39.64ID:Cv6I99asa
カスタムデータはバックエンドやのうてフロントエンドで使うもんや
2018/07/27(金) 04:29:13.10ID:2LlMOc7f0
javascript じゃないの?
MDNとにらめっこするよろしー

https://developer.mozilla.org/ja/docs/Web/API/File/Using_files_from_web_applications
2018/07/28(土) 03:40:13.45ID:zAnhzC560
html5の属性にdata-がつくってやつ?
submitを動作のない通常のbuttonにしてjsでsubmitするようにして
submitの前にjsでdata-要素を探して中身を
hiddenフィールドに追加する処理書けば渡せる
onsubmit時にやってもいいけどjavascriptオフだと想定したデータを受け取れない
buttonにしてjsでsubmitすればjavascriptオフだとsubmit自体ができなくなるが
そっちのほうが開発者には都合がいい
2018/07/28(土) 19:53:18.72ID:lnl3z2ED0
スレチ
2018/07/28(土) 21:32:05.50ID:zAnhzC560
スレチちゃうやろー
2018/07/28(土) 21:36:21.75ID:aLrZyGnX0
質問内容がPHPに関してではないし
回答もjavascriptを使用してと言うことだし
Web製作板なら全般に渡って質疑しても良いけど
プログラム板に設置したPHPスレとしては
ちょっと違う感じを否めない
2018/07/28(土) 22:21:44.16ID:zAnhzC560
webprogのほうは手取り足取りしてほしけりゃこっちこいって
初心者こっちに丸投げしてんだよな
だから多少ズレててもしょうがない
2018/07/28(土) 22:36:05.72ID:aLrZyGnX0
難民受け入れる?
嫌がる人がいないなら、自分は反対はしない
2018/07/29(日) 00:42:21.80ID:5d6XvWgua
開発者都合を優先する愚か者がいると聞きまして
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況