X



PHP質問・雑談スレ5【初心者お断り(ROM歓迎)】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
垢版 |
2018/10/04(木) 16:43:56.93ID:r0iGnrNs
PHPに関する質問や雑談をするスレです。
初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。

PHP未導入の方や、手取り足取りが必要な初心者の方はム板のくだスレへどうぞ。
https://mevius.5ch.net/tech/ (【PHP】で板内を検索)

前スレ
https://medaka.5ch.net/test/read.cgi/php/1498653249/

その他リンク
・PHPマニュアル
 https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
 https://ideone.com/
・プログラミングのお題スレ (求PHPer参戦)
 https://mevius.5ch.net/test/read.cgi/tech/1538096947/

このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
 (FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼

このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
 (HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造
0002nobodyさん
垢版 |
2018/10/10(水) 19:42:43.66ID:I3IYzLzE
いちおつ
0003nobodyさん
垢版 |
2018/10/18(木) 21:02:35.90ID:???
ログイン済みの人にだけ表示させたいっていう場合、
ログインフラグみたいな特定のセッション変数があるかないかをみるっていう感じでいいんですよね?
テンプレートの先頭をこんな感じにして、die/exitで止めてしまえばいいんでしょうか?

<?php
session_start();
if ($_SESSION['user'] === NULL) {
 header('HTTP/1.1 401 Unauthorized');
 die('<html><body><h1>401 Unauthorized</h1></body></html>');
}
?>
<!DOCTYPE html>
<html>
<body>
<h2>Hello <?= $_SESSION['user'] ?>.</h2>
</body>
</html>
0004nobodyさん
垢版 |
2018/10/18(木) 21:07:33.24ID:???
こまけーこたぁ色々あるけど、骨子としてはおっけー!
00053
垢版 |
2018/10/18(木) 21:12:15.35ID:???
>>4
よかった〜どうもありがとうございます!
0007nobodyさん
垢版 |
2018/10/19(金) 17:02:40.61ID:???
random_bytes(32)
なんで32なのん?(´・ω・`)
0008nobodyさん
垢版 |
2018/10/19(金) 17:08:50.15ID:???
(´・ω・`)僕の年齢
0009nobodyさん
垢版 |
2018/10/21(日) 22:03:32.30ID:iqZxIaIe
別スレで(予想通り)無反応だったのでこちらでお願いします

□は全角スペース

<p>あいうえお</p>
<p>□□うえ□</p>
<p>あい□□お</p>

例えば「え」が縦3つがそろうようにしたいです。
HTMLに直に書くとブラウザで固定幅フォントとしてそろいます

ところがphpで

echo "<p>あいうえお</p>\n";
echo "<p>□□うえ□</p>\n";
echo "<p>あい□□お</p>\n";

とするとバラバラ(段々)になってしまいます
どうしたらいいでしょうか?
0010nobodyさん
垢版 |
2018/10/21(日) 22:29:13.33ID:???
どう変わるのかわからん
もしかしてcssあたってないとかそんなことなのか
0011nobodyさん
垢版 |
2018/10/21(日) 23:20:28.54ID:???
ブラウザの開発者ツールでも見て
同じフォントが表示に使用されているか、その他差がないか、確認すればいい
0012nobodyさん
垢版 |
2018/10/22(月) 06:20:09.56ID:???
そのプログラムで「え」が縦3つ揃うはずがない
0014nobodyさん
垢版 |
2018/10/22(月) 17:34:23.70ID:???
昔改行するしないでデザインが変わったことがあったが
\nを\r\nにしたらうまくいったりして
仮にうまくいっても色々問題ありそうだけど
0015nobodyさん
垢版 |
2018/10/22(月) 19:27:24.10ID:???
>>12
なんで?それならなんで直書きだとそろうの?
0016nobodyさん
垢版 |
2018/10/22(月) 20:46:39.68ID:???
9です
みなさんすみません、くだらない勘違いで>>10の通りcssで
font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
が当たってるか否かでした
当たれば直に書いてもphpからでも同じ位置に同じソースなのだから
当然同じ結果になりました
どうもお騒がせしました
0017nobodyさん
垢版 |
2018/10/23(火) 05:59:25.81ID:???
>>15
9のコードよく見ろよ
「え」が縦3つ揃うはずがないだろw
0018nobodyさん
垢版 |
2018/10/23(火) 06:45:26.95ID:???
え?
えはしっかり3つ並ぶじゃん
えっと、もしかしてお前には見えてないの?
0019nobodyさん
垢版 |
2018/10/23(火) 13:24:51.05ID:???
>>18
ウザいだけの行為をユーモアだと勘違いしてるバカ
0020nobodyさん
垢版 |
2018/10/23(火) 17:13:59.23ID:???
はいはい、くだらんからもうやめてね
0021nobodyさん
垢版 |
2018/10/23(火) 20:21:23.11ID:???
>>17
くだらないからもう来ないでください
0022nobodyさん
垢版 |
2018/10/23(火) 20:25:18.19ID:???
質問したいことがあるのですが
って書こうとしたけどその前にphp.netを探したら問題解決しました
0023nobodyさん
垢版 |
2018/10/23(火) 21:09:00.66ID:???
PHPと言うかHTMLでは?
0024nobodyさん
垢版 |
2018/10/23(火) 21:16:15.55ID:???
php.netの内容は本当にすごいから一回読破して欲しい
phpで何が出来るかよく分かる
0025nobodyさん
垢版 |
2018/10/23(火) 21:45:24.02ID:???
phpでハゲを治せますか
0026nobodyさん
垢版 |
2018/10/25(木) 21:52:36.23ID:???
php内で出力をgzencodeして吐き出すのと
Apacheのmod_deflate.cにお任せするのとどちらが負荷が少ないですか?
0027nobodyさん
垢版 |
2018/10/25(木) 22:01:05.82ID:???
>>26
現実的に差がセロなので、わざわざ試す暇人がいない
自分で試した方が早い
その書き込みする労力でできるんじゃないか?
0028nobodyさん
垢版 |
2018/10/26(金) 02:07:06.39ID:???
試したアホがここにいる…phpでやったほうが30%ほど早くなった…
0029nobodyさん
垢版 |
2018/10/26(金) 05:14:57.71ID:???
圧縮率とか色々あるしな
0030nobodyさん
垢版 |
2018/10/26(金) 15:04:46.93ID:???
phpでidentityで書き出してアパッチが回収して圧縮とか二度手間
0031nobodyさん
垢版 |
2018/10/28(日) 17:23:34.22ID:???
filter_input関数の 「 FILTER_FLAG_STRIP_LOW 」 を使うと0〜31までの制御文字が除去?されますが、
nl2br関数で改行を反映させたい場合、preg_replace関数の正規表現で対応するしかないですか !?
良い方法を教えてください(´・ω・`)
003231
垢版 |
2018/10/28(日) 17:30:57.19ID:???
解決しました。
〆ます。
0033nobodyさん
垢版 |
2018/11/04(日) 18:11:46.30ID:???
最近のChromeやFirefoxって、完全にアプリを落とすまでCookie削除が効かないですよね?
自分がヘボいのかもですが、
ちゃんとCookieを削除してログオフされる方法はありますか?

PHPとJavaScriptで二重に削除してるけど管理ツールで見ると残っています。

ログアウト後に、そのままサイト内URLを叩くとアクサスできるのがカッコ悪いです。
0034nobodyさん
垢版 |
2018/11/04(日) 18:23:22.49ID:???
きちんと削除できてないか、pluginとかが悪さしてるのではなく?
0035nobodyさん
垢版 |
2018/11/04(日) 18:31:39.48ID:???
いえ、アドオンとかは特に入れてなくてすっぴんです。
削除はPHPではdestroyや過去のCookie食わせて削除、
JavaScriptはjQueryでremoveしてます。

サブドメインまできっちり指定しろということなのでしょうか?
アホなのでわかりません。
http://yukihane.hatenablog.com/entry/201511/chrome-cookie-bug
0036nobodyさん
垢版 |
2018/11/04(日) 18:34:20.57ID:???
ちなみに、つい最近までFirefoxはちゃんと消えるブラウザでした。
アップデートしたらChromeと同じ挙動に変わっていました。
0037nobodyさん
垢版 |
2018/11/04(日) 18:40:56.81ID:???
アホと初心者ではどっちがマシなんだろうか
0038nobodyさん
垢版 |
2018/11/04(日) 18:57:31.02ID:???
初心者に決まっとるやろー
0040nobodyさん
垢版 |
2018/11/04(日) 19:18:16.27ID:???
$_SESSION = array();
setcookie(session_name(), '', time() - 42000);
session_destroy();

この3行を順番に書けば消えるということで良いでしょうか?

session_unset() ;
も書いてあったと思います。
常駐するブラウザを落とさないと消えないですよw
0041nobodyさん
垢版 |
2018/11/04(日) 19:28:10.49ID:???
どこからコピペしてきたコードなんだろう
0042nobodyさん
垢版 |
2018/11/04(日) 19:36:10.33ID:???
へ?
とりあえず極力シンプルな10行ぐらいのコードで試してみます。
ありがとうございました。
0044nobodyさん
垢版 |
2018/11/04(日) 21:09:22.11ID:???
ここのスレの猛者に説明などは不要かと思うので割愛します。
リファクタリング時の凡ミスでした。
CookieもHTTPのやりとりをキャプチャして解決しました。
アホなのにブラウザのせいにして本当に申し訳ございませんでした。
0046nobodyさん
垢版 |
2018/11/05(月) 17:54:33.36ID:???
CSRFがわからない(´・ω・`)
type="hidden"でトークンを隠してもウェブマスターツールで見られそうだし、さっぱり爽やかだ。
0047nobodyさん
垢版 |
2018/11/05(月) 17:57:34.69ID:???
対策系なんていたちごっこなんだからCSRFの手法自体を勉強してきなさい
じゃないと確実な対策を書くことはできない
0048nobodyさん
垢版 |
2018/11/05(月) 17:59:44.23ID:???
セキュリティはほんと地獄
そうそうにあきらめてフレームワークに丸投げしてるわ
0049nobodyさん
垢版 |
2018/11/05(月) 18:04:52.29ID:???
>ウェブマスターツールで見られそうだし
理解できてない証拠
0050nobodyさん
垢版 |
2018/11/05(月) 18:49:28.55ID:???
ある適度の規模になったらフレーワークだよね。
ネイティブな実装レベルを知らない人でも、
爺さんよりいいサイト作れる。
0051nobodyさん
垢版 |
2018/11/05(月) 19:13:34.32ID:???
無知が使うなら規模関係ない
小規模だろうと大規模だろうと
必要なセキュリティ対策が何かすらわからないのだから
0052nobodyさん
垢版 |
2018/11/05(月) 19:26:47.87ID:???
ちょっとおかしいな

何らかのフレームワークを使っているからといって
CSRFを含めてセキュリティ対策が万全と保証されるわけではない
あくまでフレームワークを使って作った人の責任

フレームワークを使って作ったものにセキュリティホールがないかどうか確認できるスキルが必要になる
そんなスキルがあるなら自前でセキュリティ対策を書ける
するとフレームワークを使う理由は特化による労力削減しかなくなる
0053nobodyさん
垢版 |
2018/11/05(月) 19:32:51.95ID:???
そういう事をしなくて済むのが最近のフレームワークじゃん。
もちろん知識は必要だけど下のレイヤーは知らなくていい感じ。
0054nobodyさん
垢版 |
2018/11/05(月) 19:38:33.82ID:???
どんな無知カスが使ってもセキュリティリスクゼロなんてフレームワークあるのですか
0055nobodyさん
垢版 |
2018/11/05(月) 20:05:03.98ID:???
グーグルやフェイスブックでさえお漏らしするからムリ
0056nobodyさん
垢版 |
2018/11/05(月) 20:15:32.20ID:???
オレオレ実装が良いとでも?
0057nobodyさん
垢版 |
2018/11/05(月) 20:37:15.38ID:???
オレオレ実フレームワークこそ正義と思ってたけどあっというまにセキュリティホールだらけになって辛かった
0058nobodyさん
垢版 |
2018/11/05(月) 20:51:42.34ID:???
無知じゃ無理ってことだ

機能面もセキュリティ面も同じだが問題が出ないことはツールは保証してくれない
結局自分で仕組み上問題がないことを確認して
結局自分で実際上問題が出ないことをテストしなきゃいけない
0059nobodyさん
垢版 |
2018/11/05(月) 20:58:12.02ID:???
フレームワークでも何でもいいがツールが責任を持ってくれないのだから
自分(というか自社)が有事の責任を回避したいなら
最大限自衛できるスキルを持たないといけない
知らなくても済む、とはならない

高セキュリティを謳うフレームワーク使ってました、だけで裁判で過失ゼロ認定される自信があるなら良いけど
0060nobodyさん
垢版 |
2018/11/05(月) 21:29:28.91ID:???
俺実装のまずさはPHPの関数が非推奨になったりするせいもある
0061nobodyさん
垢版 |
2018/11/05(月) 21:43:40.10ID:???
逃げられないってやつだなあ
どうあっても回避できないもんは回避できない
0062nobodyさん
垢版 |
2018/11/05(月) 22:06:10.77ID:???
でもPHPもかなり良くなってきたし、NodeとかのJavaScriptよりはマシだよなあ。
あっちもPromiseとかで美しくなってきてはいるが…
0063nobodyさん
垢版 |
2018/11/05(月) 22:43:12.06ID:???
CSRFのワンタイムトークンって本当に有用なの?
今は同一生成元ポリシーがあるから余計なことしてなければ問題はないが
サーバでOriginの設定に問題があったりブラウザで余計なことしてる状態として
JavaScriptでGETで1回トークン含んだソースとってきて
2回めで実際のPOST先にトークン含めて送ると受理してしまわない?
0064nobodyさん
垢版 |
2018/11/05(月) 22:47:42.60ID:???
CSRF君はいったい何に取り付かれてるんだい
0065nobodyさん
垢版 |
2018/11/06(火) 14:34:04.21ID:???
それ俺じゃないっす(´・ω・`)
0066nobodyさん
垢版 |
2018/11/06(火) 17:00:12.77ID:???
(´・ω・`) お前眉毛太いな
0067nobodyさん
垢版 |
2018/11/06(火) 17:02:18.16ID:???
眉毛剃ってみたっす(・ω・)
0070nobodyさん
垢版 |
2018/11/07(水) 04:03:55.80ID:???
>>63
CSRF対策にワンタイム性は必要無いだろ
0071nobodyさん
垢版 |
2018/11/07(水) 05:30:48.93ID:???
>>70
ワンタイム性は必要ないというと
固定トークンとか有効とか言っちゃうのか?
0073nobodyさん
垢版 |
2018/11/07(水) 09:29:40.58ID:???
トークンなんてフレームワーク丸投げで何も意識せずに勝手に裏でやってくれりゃいいよ。
0074nobodyさん
垢版 |
2018/11/07(水) 09:51:54.44ID:???
セキュリティのこと勉強しないやつは会話に入ってこなくていいのよ
0075nobodyさん
垢版 |
2018/11/07(水) 11:36:02.43ID:???
仲間外れ・いじめ・村八分ニダ
0076nobodyさん
垢版 |
2018/11/07(水) 13:09:55.63ID:???
質問
アンチウィルスソフトが重いからって止めてしまっている人のこと考えたら
ウィルス対策が100%万全でないメールクライアントなんてゴミクズだよね?

回答
止めんなよバカ
0079nobodyさん
垢版 |
2018/11/07(水) 17:24:03.62ID:TDXp/c7l
以下のページにアクセスした時、
バックグラウンドで処理を走らせようと思います
http://example.com/foo.php

foo.phpに通常のユーザーもアクセスできてしまうのですが、
404などを返したほうが良いのでしょうか?
また、その際はhtaccessを使用すれば良いでしょうか
それともphpのheaderから404を返すのでしょうか?

以下は実際の流れになります
小売業のHPで、wordpressを使っています
ルーチンとしてチラシが発生したときにページを作成し、pdfファイルと画像ファイルを添付して投稿
定期的に、一年以上前に投稿された記事とファイルを削除する必要があるので、その部分を自動化したいと思っているのです
0080nobodyさん
垢版 |
2018/11/07(水) 18:37:30.79ID:???
cron使え
どうしてもcron使えない状況でwp使ってるならwpに載せて管理者ログイン時以外利用不能にしろ
最悪でも単独の認証でもつけとけ
0081nobodyさん
垢版 |
2018/11/07(水) 18:42:45.93ID:???
自分で管理しきれるならサードパーティのpluginを利用する手もあるが自分で管理しきれる場合だけ
0082nobodyさん
垢版 |
2018/11/07(水) 18:43:43.18ID:???
>>80
cronも併用していますが、シェルスクリプトを書ききれませんでした
(現在はshの中身はfoo.phpにアクセスするという物になっています)

>wpに載せて管理者ログイン時以外利用不能
>単独の認証
どちらかで実装します
ありがとうございました
0083nobodyさん
垢版 |
2018/11/07(水) 18:44:23.54ID:TDXp/c7l
>>81
サードパーティーのプラグインはいつの間にかエラーだらけになりそうなので、出来る限り回避しています
0084nobodyさん
垢版 |
2018/11/07(水) 18:48:01.07ID:???
いやcron使えるなら使えよ
perl-cgiなんかと同様に*.phpの頭に
#!/path/to/php
って書いてchown/chmodしとくだけで済むから
sh書く必要ないし公開ディレクトリに置かずに済むだろう
0085nobodyさん
垢版 |
2018/11/07(水) 18:51:59.27ID:TDXp/c7l
>>84
そんな方法があったんですか、ありがとうございます
なんとか頑張ってみます
0086nobodyさん
垢版 |
2018/11/07(水) 19:56:48.71ID:???
どこに書いたら良いのかわからずでここに。。。場違いだったらゴメンなさい。

Aサーバ = php.ini編集NG .htaccess内にphp_value記述OK
Bサーバ = php.ini編集OK .htaccess内にphp_value記述NG

の場合、A、Bサーバで共用できる.htaccessの書き方ってありますか?
要は、%{HTTP_HOST}などでサーバを判定して、Aサーバの場合のみ、php_valueの記述行がイキになるような書き方が出来ないものかと。
0088nobodyさん
垢版 |
2018/11/07(水) 20:34:15.14ID:2BCYtEAy
>>86

そういうことはできないと思う。
CGI(FastCGI)として動作している時の問題だと思うが、
そういうサーバではphp.iniか.htaccessに書かなくては意味のない設定を書く環境があるのでは?
それがないチープなサーバなら諦めるしかないかと。
0089nobodyさん
垢版 |
2018/11/07(水) 21:15:47.71ID:???
ってか、どんなサーバーなんだよw
統一するかVPSにしとけ。
0090nobodyさん
垢版 |
2018/11/07(水) 21:44:47.91ID:???
>>79
通常のユーザがアクセスできないように
ログイン認証設ければいいだけの話では
0092nobodyさん
垢版 |
2018/11/08(木) 07:34:32.84ID:???
レンタルなのはわかってるだろw
無駄に苦労するより統一しろよーって話だよ。
0094nobodyさん
垢版 |
2018/11/08(木) 09:34:19.63ID:???
Basic認証レベルならwgetでいいし、
フォーム認証でもライブラリ使ってセッション食わればいいんじゃない?
0095nobodyさん
垢版 |
2018/11/08(木) 11:00:39.11ID:???
cronというかいわゆるwebcronをやろうとしてるんだろう?
>>94のとおりだよ
0096nobodyさん
垢版 |
2018/11/08(木) 13:04:42.66ID:???
webcronでsh書くわけねえだろアホ
0097nobodyさん
垢版 |
2018/11/08(木) 13:46:29.26ID:???
sh書けないっていってるじゃん
0098nobodyさん
垢版 |
2018/11/08(木) 14:05:38.65ID:???
>>97
>(現在はshの中身はfoo.phpにアクセスするという物になっています)
0099nobodyさん
垢版 |
2018/11/08(木) 14:58:03.89ID:???
>cronも併用していますが、シェルスクリプトを書ききれませんでした
書けないっていってんじゃん

curlかwgetいれてるだけだろうが
そんなのシェルスクリプトでもなんでもない
0100nobodyさん
垢版 |
2018/11/08(木) 15:05:30.73ID:???
>>97「(技術的には)sh書けないって言ってるじゃん」
>>98「(サーバーの仕様では)sh書けてるだろボケ」
0101nobodyさん
垢版 |
2018/11/08(木) 15:10:40.83ID:???
みんな年末のカンファレンスに参加するの?
Web業界独特の気持ち悪いイベントに
0102nobodyさん
垢版 |
2018/11/08(木) 15:54:08.89ID:???
トークンで思い出した
bin2hex(random_bytes(32));ってのを見かけたんだけど これが今の主流なんかね
0103nobodyさん
垢版 |
2018/11/08(木) 16:24:18.69ID:???
>>101
しない
>Web業界独特の気持ち悪いイベント
これは同意だけど、まぁ最先端の金持ちオタクの集まりだから仕方ない
0104nobodyさん
垢版 |
2018/11/08(木) 16:49:38.40ID:???
金持ちしか来ないのか?
0106nobodyさん
垢版 |
2018/11/08(木) 19:09:50.52ID:???
webcronって
定期バッチ動かしたいけどサーバ仕様上cronが使えないから外部からHTTPで叩きましょう
ってなもんでしょ
他になんか意義あんの
0107nobodyさん
垢版 |
2018/11/09(金) 00:56:46.30ID:???
0円 = \0 === null (ASCIIのnull 文字列)

思いついただけ
0109nobodyさん
垢版 |
2018/11/09(金) 19:15:29.67ID:oLv4Ne/G
WordPressのサイトで、
function.phpの中で複数のphpファイルをインクルードするのと、
---------
include_once 'file1.php' ;
include_once 'file2.php' ;
include_once 'file3.php' ;

function.phpの中に全部のコードをベタで書くのとでは、WEBサイトの表示速度に差が出ますか?
0110nobodyさん
垢版 |
2018/11/09(金) 19:58:28.88ID:???
出るけど3つ程度なら誤差
0111nobodyさん
垢版 |
2018/11/09(金) 20:07:53.45ID:oLv4Ne/G
>>110
ありがとうございました。
0112nobodyさん
垢版 |
2018/11/09(金) 23:38:12.38ID:???
レイプ魔 山口敬之?レイプ自民?
0113nobodyさん
垢版 |
2018/11/10(土) 09:38:50.53ID:2ggaVCM0
C言語の
#if 条件
#else
#endif
みたいなのはPHPにはありませんか?
0114nobodyさん
垢版 |
2018/11/10(土) 11:42:16.50ID:???
>>113
無い
そういうのはプリプロセッサと言ってコンパイル前の処理なんだけど、
phpはコンパイル自体が無いので存在しない
0115nobodyさん
垢版 |
2018/11/10(土) 14:04:09.30ID:???
#ifで何したいの?
0116nobodyさん
垢版 |
2018/11/10(土) 15:02:41.74ID:???
自分で対象の*.phpを前処理するプログラムをphpでもcでもなんでもいいから書いて
前処理した後にphpに引数とともに引き渡せば、あるいは
0117nobodyさん
垢版 |
2018/11/10(土) 15:16:21.03ID:???
いや、あれ?>>116取り消し

解決とか考えなくて良いんだからcのプリプロセッサとか考えるまでもなく
普通にifで条件括って、分岐でincludeすればいいんでないかな

到達し得ないincludeは、たとえパースエラーになる代物が指定されてても無視されるわけで
0118nobodyさん
垢版 |
2018/11/10(土) 15:36:14.03ID:???
>>117
それで同じ事を実現できるけど、
それじゃめんどくさい事をしたいんだと思う
実は#difineもしたいとかそういうことじゃないかな。知らんけど
0119nobodyさん
垢版 |
2018/11/10(土) 21:18:12.95ID:???
>>115
例えばf()の改良版を作りたいので取り敢えず
古い方のf()は無効化しておきたい場合です。

#if(0)
function f(){  ・・・  }
#endif

function f(){  ・・・  } //改良版
f(); //実行
0120nobodyさん
垢版 |
2018/11/10(土) 21:58:43.46ID:???
>>119
普通のifでいいじゃん
えっ と思うかもしれないが、できてしまう

if( ENABLE_EVOLVE ){
function f(){ echo 1; }
}else{
function f(){ echo 2; }
}

f();
0121nobodyさん
垢版 |
2018/11/10(土) 22:00:25.48ID:2ggaVCM0
>>120
そんな事出来るんですか!!
0122nobodyさん
垢版 |
2018/11/10(土) 22:01:30.78ID:???
この辺はなんかこうjsに近いんだ

とでも思って納得しておくしかないけど、まあできる
0123nobodyさん
垢版 |
2018/11/10(土) 22:07:26.59ID:???
if等の中に放り込むと、function定義前に呼び出したりはできなくなる

たとえば>>120の1行目にf();を突っ込むとfatalが出る

そこんとこにさえ気をつければ大丈夫なはず
逆に言えばそういう柔軟処理をやってくれてるということ
0124nobodyさん
垢版 |
2018/11/10(土) 22:32:14.58ID:???
(…質問者よ…聞こえますか…関数を分けるのではなく引数で分けるのです…聞いていますか…)
0125nobodyさん
垢版 |
2018/11/10(土) 22:38:24.13ID:???
(……(∩゚Д゚)アーアーキコエナ-イ……キコエナーイ……)
0126nobodyさん
垢版 |
2018/11/11(日) 19:15:24.97ID:???
>>124
良く分かりません。
解説お願いします。
0127nobodyさん
垢版 |
2018/11/12(月) 08:30:32.48ID:???
俺はC知らんしよくわからんが
コメントアウトしとけばいいって話じゃないんか
0128nobodyさん
垢版 |
2018/11/12(月) 09:12:48.45ID:???
>>126
>>120の書き方だと関数をまとめられ無くなって収集つかなくなるよ
小ネタとして覚えておく程度ならいいけど、実用的な場面はない
そもそも関数の定義は別ファイルにまとめてincludeする方が分かりやすい
あんまり変な書き方すると自分がめんどくさいだけ

という事を数年前に俺も教わった
0129nobodyさん
垢版 |
2018/11/12(月) 09:16:04.44ID:???
こんな感じが後々楽と思う

function f(flg){
if(flg){
return 1;
} else {
return 2;
}
};

echo f(flg);
0130nobodyさん
垢版 |
2018/11/12(月) 09:40:34.68ID:???
引数で分岐させちゃったらその関数使ってる箇所全部修正しなきゃじゃん
後々ってなんだ
0131nobodyさん
垢版 |
2018/11/12(月) 17:56:26.48ID:???
引数の数や型で動作を分けるとかもあるけど結局呼び出し側の修正必須
どっちかっていうとコードそのものを残さなくていいならcvsに任せるほうが

>>127
/* */形式のコメントは入れ子にできないから
内部で/* */使ってると面倒
0132nobodyさん
垢版 |
2018/11/12(月) 18:25:21.05ID:???
どうやってもキモい(設計が悪い)けど例えば

<?php

function f1() { echo 1; }
function f2() { echo 2; }

const ENABLE_EVOLVE = true;

if (ENABLE_EVOLVE) {
$f = f1;
} else {
$f = f2;
}

$f();
0134nobodyさん
垢版 |
2018/11/12(月) 18:53:47.45ID:???
変数から呼び出す辺りキモいし怖い
0135nobodyさん
垢版 |
2018/11/12(月) 19:10:30.12ID:???
なんでこれどうやってもキモイんだろう?
と思ったらクラスにしてないから変なのか
0136nobodyさん
垢版 |
2018/11/12(月) 19:32:21.82ID:???
classにしても同じだろう
ifかませての別定義やincludeがやりづらいからなおさらキモい
0137nobodyさん
垢版 |
2018/11/12(月) 19:36:32.00ID:???
だったらどうやればいいんだよ(怒)
0138nobodyさん
垢版 |
2018/11/12(月) 19:37:02.28ID:???
>>132
よこからだけど
$$f();
これってなんて言うんだっけ?ドルマーク2つ付ける奴
0140nobodyさん
垢版 |
2018/11/12(月) 19:54:12.47ID:???
${$f}
{$f}()
まあ原理は一緒

>>137
意図と状況による
が既存関数の改良で、呼び出し側の変更が必要になるのはナンセンス過ぎる
0141nobodyさん
垢版 |
2018/11/12(月) 19:59:52.96ID:???
>>134
上のコードはキモいけど変数に関数突っ込んで呼ぶこと自体は別にキモくない
いやPHPではあんまりやらんけども
0142nobodyさん
垢版 |
2018/11/12(月) 20:08:27.79ID:???
>>141
jsとかで変数に関数を放り込むのは
そもそも変数に関数を放り込める仕様、名前空間の欠如や使いづらさ、グローバル領域汚染の防止、というような理由がある
それらを解消するメリットが「どこで内容かわるかわからん変数を経由する」というデメリットを超過するから使う意味がある

phpで変数に関数そのものを放り込めるかといえばNO
$f = f1; $f(); なんてwarningとともに f1 が 'f1' に変換されて、文字列変数経由で呼び出されてる
なので>>132みたいにやるのは合理性に欠ける

というふうに俺は考える
0143nobodyさん
垢版 |
2018/11/12(月) 20:10:23.48ID:???
もとからobjectの一要素となってたみたいな前提条件があれば話は別だけどな
0144nobodyさん
垢版 |
2018/11/12(月) 20:16:47.89ID:???
jsはグローバルなDOMがあるからこその無名即時関数
でなければせいぜいアクセス解析だ
実際使いづらい部分もあるが、DOMの有無が一番大きい
PHPとは前提が違いすぎる
0145nobodyさん
垢版 |
2018/11/12(月) 20:24:57.47ID:???
勘違いしてて改良だとimproveのところevolve(進化)って書いちゃったんだけど突込みが入らなかったことにやや驚愕
0146nobodyさん
垢版 |
2018/11/12(月) 20:44:43.57ID:???
>>145
>>129だけどなんか違うけど、そんな文化があるのかなー?無知なまま突っ込んでマウント取られると嫌だから
ワイ文化(flgに変更)にそっと変えてごまかしたれっと思って突っ込めなかったチキンで御座います

とりあえず見たことない単語だから検索した人は結構いると思う
0147nobodyさん
垢版 |
2018/11/13(火) 16:29:29.90ID:???
mail関数の$messageの説明に「各行の長さは 70 文字を超えては いけません。」って昔から記載してあったっけ(´・ω・`)
0149nobodyさん
垢版 |
2018/11/13(火) 17:16:15.14ID:???
>>148
親切に教えてくださりありがとうございます(・ω・)
勉強不足でした。
0151nobodyさん
垢版 |
2018/11/13(火) 22:45:29.66ID:???
ステータスコード404がうまく返りません

http_response_code( 404 );
でステータスコード404が返らず、
header("HTTP/1.0 404 Not Found");
だと404が返る場合、どういう可能性が考えられますか?

phpのバージョンは5.4で、
function_exists()で調べた所、以下2つの関数は存在していました
http_response_code()、header()

関数の前には何も出力されていない状態です
原因がわからず、結構ハマってしまいました
お助け下さい
0152nobodyさん
垢版 |
2018/11/13(火) 22:57:21.75ID:???
headerじゃダメでhttp_response_codeならOKってどういう場合なの
0153nobodyさん
垢版 |
2018/11/14(水) 03:45:56.02ID:???
その関数は使ったことないけどリファレンス見るかぎり
404出すには2回呼び出す必要があるようだが2回やってる?

https://secure.php.net/manual/ja/function.http-response-code.php
> var_dump(http_response_code(404));
> var_dump(http_response_code());

最初404設定するときに返ってくるのは設定した404ではなく
設定前の(おそらく)200であるようだけど
0154153
垢版 |
2018/11/14(水) 03:51:27.48ID:???
ああ、すまない
>>153は忘れてくれ

ユーザノートみてたらhttp_response_code(404)だけで返るみたいだから
実際にやってみたらちゃんと404返ってきたわ
0155nobodyさん
垢版 |
2018/11/15(木) 14:50:25.43ID:wt/2jR9O
PECL死んでる?
0156nobodyさん
垢版 |
2018/11/18(日) 05:29:39.81ID:???
ピルクルが飲みたい
0158nobodyさん
垢版 |
2018/11/25(日) 14:03:36.59ID:VzRv4Ee2
include_once('file.php');
は読み込めるのに、
include_once('./file.php');
だと
failed to open stream: No such file or directory
と出るのだけれどなぜよ?
0160nobodyさん
垢版 |
2018/11/25(日) 14:21:00.13ID:???
変って書くと変だな
「変な仕様」なんだ
0161nobodyさん
垢版 |
2018/11/25(日) 14:31:10.54ID:VzRv4Ee2
>>159
サンキュウ。
読めたよ。
も一つ教えてくれよ。
Windowsで
include "C:\path1\path2\file.php"
みたいに絶対パス指定して読み込む事は
出来ないの?
0162nobodyさん
垢版 |
2018/11/25(日) 14:56:42.30ID:???
エスケープ(\)意識しろ
""なら\\にしろ
0163nobodyさん
垢版 |
2018/11/25(日) 14:58:04.04ID:???
ま 別に\じゃなくても/でいいんだが
0164nobodyさん
垢版 |
2018/11/25(日) 16:21:19.98ID:???
>>161
できる
realpath()を使えば絶対パスの取得が出来るので、それを利用すればok
https://webkaru.net/php/function-realpath/

ちなみに絶対パスはサーバーによって変わるので、
どういったものになるかは不定だ

あと>>159だけど、
dirname(__FILE__)単独よりも、reaalpathと併用するのが最も良かった事を思い出した
https://ja.stackoverflow.com/questions/37252
まぁrealpathなしでバグるなんて相当変な場合じゃないとないけどね
0165nobodyさん
垢版 |
2018/11/25(日) 21:03:05.10ID:VzRv4Ee2
>>164
ありがとう。
ところでPHPファイルって
<?PHP で始まって
・・・
?> で閉じる場合と、閉じない場合が
あるようなのだが、閉じなくてもいいの?
0166nobodyさん
垢版 |
2018/11/25(日) 21:17:37.69ID:???
>>1
> PHP未導入の方や、手取り足取りが必要な初心者の方はム板のくだスレへどうぞ。
> https://mevius.5ch.net/tech/ (【PHP】で板内を検索)

>>165 続けるなら↑で質問すると良いよ

ライブラリなんかの純粋なPHPのみのコードなら閉じタグはいらないしむしろ省略を推奨されている
HTML(view)にPHPのコードを埋め込むような書き方をする時はHTMLとの境界を示すために必要
http://php.net/manual/ja/language.basic-syntax.phpmode.php
初心者は閉じておくと間違いはない
0168nobodyさん
垢版 |
2018/11/26(月) 00:48:41.26ID:???
phpって拡張子がださいから変えようと思うのだけど
おまえら何にしてる?
aspxとかdoとかかっこよくね?
0169nobodyさん
垢版 |
2018/11/26(月) 00:54:35.10ID:???
>>168
その感覚は俺も学生の時にあったわ、懐かしい
やるべきことは、拡張子を表示しなくていいように設計する事だ
例)
https://news.yahoo.co.jp/pickup/6304566
まぁまともなFWなら大抵こうなる
0170nobodyさん
垢版 |
2018/11/26(月) 04:47:09.93ID:???
Laravelのソースコード読んでルーティングの仕組み調べようとしたけど
最近のソースの読み方がわからないぜ・・・
0171nobodyさん
垢版 |
2018/11/26(月) 08:50:25.72ID:???
それ時間の無駄じゃね
全部index.phpに飛ばして後はURLを規則通り振り分けるだけだ
0172nobodyさん
垢版 |
2018/11/26(月) 14:53:27.98ID:???
>>171
それってPHPだけで出来るの?
サーバがPHPで書かれてるというなら理解出来るんだけど
なんか最小限のコードないかしら
0173nobodyさん
垢版 |
2018/11/26(月) 19:17:24.81ID:???
>>172
//.htaccess
RewriteEngine On
RewriteRule . index.php

//inddex.php
<?php
echo 'URL:'.$_SERVER["REQUEST_URI"];

要はこの.$_SERVER["REQUEST_URI"]を元にルーティングしていくんだけど、
パターンが死ぬほど多くてくっそめんどくさい
homeですら
example.com
example.com/
example.com/index.php
とある

深入りはやめたほうが良いよ
0174nobodyさん
垢版 |
2018/11/26(月) 23:12:49.53ID:???
>>173
ありがとう
やっぱりPHP単体でやってるというわけではないんだね
想定内でちょっと安心
0175nobodyさん
垢版 |
2018/11/28(水) 16:38:00.31ID:???
https://github.com/PHPMailer/PHPMailer
のページについて質問です

Installation & loadingの箇所で、
requireの前にuseがありますが、なぜでしょうか?

感覚的にはrequireしてからuseするので、requireを先に書きたくなります
これは単純に好みでしょうか

以下の部分です
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'path/to/PHPMailer/src/Exception.php';
require 'path/to/PHPMailer/src/PHPMailer.php';
require 'path/to/PHPMailer/src/SMTP.php';
0176nobodyさん
垢版 |
2018/11/29(木) 02:59:11.49ID:???
自分も感覚的にはそうする
でもそもそもrequireをべた書きするのはだいぶ前のスタイルなのでは
0177nobodyさん
垢版 |
2018/11/29(木) 08:27:41.73ID:ZUtiu1g9
なぜcomposerのautoloaderを使わないのか
0178nobodyさん
垢版 |
2018/11/29(木) 08:56:34.25ID:???
>>176
ありがとうございます
compoer知りませんでした、勉強してみます
0180nobodyさん
垢版 |
2018/12/01(土) 11:09:00.18ID:???
従量課金制のって使ったことないけど
費用どんなもんなの?
CPU実行時間とかよくわからん・・・
同じコンテンツでも言語によって差が出るってことなのかな?
その場合PHPを選択するというのは理にかなっているのだろうか
0181nobodyさん
垢版 |
2018/12/01(土) 11:18:28.68ID:???
>>180
CPU・ストレージが超強力なので、大量の画像データのリサイズや機械学習が主な運用方法
機械学習で使うと費用を超抑えられる

場合によってはエンコードや圧縮・解凍に使うのも良いかも知れない
間違ってもチャット掲示板なんて作っちゃだめだゾ
0182nobodyさん
垢版 |
2018/12/01(土) 11:21:03.86ID:???
>>181
チャット掲示板がダメな理由は?
0183nobodyさん
垢版 |
2018/12/01(土) 11:23:05.40ID:???
>>182
アクセスする度にカネがかかる。従量課金にする意味がない
通常のサーバーで良い
0184nobodyさん
垢版 |
2018/12/01(土) 11:32:15.67ID:???
>>183
アクセスする度に金かかるのはチャットだけじゃなくない?
転送量もあるからでかいファイル送るのと小さな文字データを回数多く送るのは変わらん気するけど
0185nobodyさん
垢版 |
2018/12/01(土) 11:37:17.65ID:X2PG/ijA
記事に出てるPHPレイヤーじゃmysql使えないからWordpressは無理だな

簡単にスケール出来るのもLambdaのメリットだが
大量に同時実行するとmysqlの接続数が増え過ぎて
DBの動作に支障が出る

なのでスケーリングが必要な場合
接続が比較的軽いDynamoDBが使われたりするが
色々とクセがあるようだ
0186nobodyさん
垢版 |
2018/12/01(土) 11:40:08.22ID:X2PG/ijA
Lambdaは無料枠あるけど
実際サービスを作ろうとしたら
Amazon S3とかAPI GatewayとかCDNとかも必要
アプリの内容によってはDBも
あとデータ転送も課金される
0187nobodyさん
垢版 |
2018/12/01(土) 11:41:38.18ID:???
>>184
別にチャットでもHPでもAWSでやりたいなら好きにしていいぞ
金を払って初めて分かる事もあると思う
0188nobodyさん
垢版 |
2018/12/01(土) 11:42:15.75ID:???
ラムダはリレーショナルDBは無理ってAmazonセミナーで言ってた
0189nobodyさん
垢版 |
2018/12/01(土) 11:43:43.05ID:???
>>187
一般的なサイトならレンサバでいいと思うのはそうなんだが
0190nobodyさん
垢版 |
2018/12/01(土) 11:51:45.01ID:X2PG/ijA
単に安いのが欲しいってだけならVPSにすれば?

AWSにもVPSっぽいのがある
安い代わりにサーバーを停止しても課金されるのと
AWSの他サービスとの連携はしづらい

最近のアップデートでMySQLも使えるように

[アップデート] Lightsail で月額 $15 からマネージド・データベースが使えるようになりました!
https://dev.classmethod.jp/cloud/aws/new-managed-databases-for-amazon-lightsail/
0192nobodyさん
垢版 |
2018/12/01(土) 12:14:01.16ID:???
>>189
でかいデータを任せる理由は、
>CPU・ストレージが超強力
という点
廉価版のスパコンと思えば良いかも知れない

もちろん自前で環境用意できるならわざわざサービスに頼る理由はないぞ
0193nobodyさん
垢版 |
2018/12/01(土) 17:13:49.86ID:???
なるほど
どちらかというと低速でも普段自分のPCでやってることを肩代わりさせるようなものなのね
縁はなさそうだな
0194nobodyさん
垢版 |
2018/12/01(土) 17:47:26.66ID:???
クラウドってめんどくさいよな
0195nobodyさん
垢版 |
2018/12/01(土) 19:38:43.31ID:???
自分もよくわからないが、話の流れ見ててふと疑問に思ったのは、
なぜ>>179のリンク先の人は、そんなものにWPなんていれようとしたのだろう。
もちろん公開ブログツールとしてではなく、
自分用のタスク管理みたいのにも使えるとは思うけどさあ。
0196nobodyさん
垢版 |
2018/12/02(日) 22:57:56.51ID:???
YouTubeの動画形式変換してダウンロードさせるようなサイトの
バックエンドに使ってるんだろう
ああいうサービスはめっちゃ金かかりそうだな
0197nobodyさん
垢版 |
2018/12/02(日) 23:11:19.93ID:???
>>195
サイト名ェ・・・「wordpress-kyoto」
どっちかというとwordpress使いがAWSに手を出したって事じゃないかな
0198nobodyさん
垢版 |
2018/12/07(金) 13:45:07.00ID:7Hmy10+R
質問させてください

「XXXXX7TgeVPTUvhSST1rkJfXHdTEdQ0+UKDXXXXXS1o40pXtyJTy3APdvWylT2m」

このような文字列を、先頭の文字「XXXXX」で
このように分けたい

「XXXXX7TgeVPTUvhSST1rkJfXHdTEdQ0+UKD」
「XXXXXS1o40pXtyJTy3APdvWylT2m」

よろしくお願いします。
0200nobodyさん
垢版 |
2018/12/07(金) 13:54:09.46ID:7Hmy10+R
>>199
ありがとうございます
0201nobodyさん
垢版 |
2018/12/08(土) 06:30:25.61ID:YHWvXigp
納品後に勝手に他所で使われないように、客のサーバ上でしか動かないようにしたいんだけど
何か良い方法あるかな
IPアドレスか何かをチェックする処理を、ソース見てもわからないように入れれればいいと思うんだけど
0202nobodyさん
垢版 |
2018/12/08(土) 08:56:22.11ID:???
ソース渡す時点で対策しても無意味だな ソース読める人がみたらすぐバレる
ソース読まない前提ならipチェックでもいれればいいかと
0203nobodyさん
垢版 |
2018/12/08(土) 09:18:47.19ID:???
>>201
if(ip==xxx){
}
if(ip_address_dummy!==xxx){
}
address_ip==xxx ? foo() : bar();
if(sitename==yyy){
}
if(sitename_false!==yyy){
}

とず〜〜〜っと書いて
「これなら1から書いたほうが早い!」
と思わせることができればコピーされないという手法を思いついた
なお自分が死ぬ模様
0204nobodyさん
垢版 |
2018/12/08(土) 09:59:44.16ID:???
exeファイルならクラッキングの難易度をいくらでも上げることができるけど
ソースファイル渡しちゃったらどうぞ改造してくださいと言っているようなもの
0205nobodyさん
垢版 |
2018/12/08(土) 10:03:14.07ID:???
>>203
ipとかで抽出かけちゃえばどの行で対策してるかすぐバレちゃうよ
0206nobodyさん
垢版 |
2018/12/08(土) 10:07:20.62ID:???
一見動くようにして、たま〜〜〜に動かなくなるとかでいいんじゃない
/* ここ見てるって事はコピーされたんですねwwwちーっすww */
とか煽っとけばok
0207nobodyさん
垢版 |
2018/12/08(土) 10:47:17.06ID:???
相手がどのレベルかによるだろう
ソース丸見えのインタプリタの場合リバースエンジニアリングもくそもないしな
何したって無駄であるしライセンス条項に明記して
違反した時の脅しをかけるしかない
0208nobodyさん
垢版 |
2018/12/08(土) 11:01:36.34ID:???
そういやサーバーのipってメンテとかで変わる事あるの?
xサーバーとかsakuraとか
0209nobodyさん
垢版 |
2018/12/08(土) 16:09:22.03ID:???
サーバがどういう運用してるかによるだろ
元々動的IPでDDNSで運用してるならともかく
固定IPプランで固定IP前提で運用してるのに(DNS更新は手動)
それが勝手に変わっちまったらサーバを利用してる事業者は
外部からアクセス不能(IP直打ちで物理的には可能だが)になり
事実上のサービス停止を余儀なくされ信頼が低下する
そんなサーバを提供した事業者は例え免責事項に責任取らないと書いてたとしても
過失が大きすぎて可能な限り最大の損害賠償を請求できるレベル
0210nobodyさん
垢版 |
2018/12/08(土) 18:52:06.36ID:???
php.iniって覗かれたりしちゃう?
0211nobodyさん
垢版 |
2018/12/08(土) 19:01:47.07ID:???
アクセス可能なら覗かれるに決まってんだろ
アクセス不可能なら覗かれないに決まってんだろ
0212nobodyさん
垢版 |
2018/12/08(土) 19:34:15.49ID:???
別に覗かれても困るようなもんじゃないけどな
レン鯖業社とかphpinfo普通に公開してるし
0213nobodyさん
垢版 |
2018/12/09(日) 01:01:59.60ID:???
今PHPの試験受けるより来年2月からの方がいいよね
0215nobodyさん
垢版 |
2018/12/09(日) 19:49:26.42ID:???
初心者以前のくっだらねえ質問続いてるようですが
スレチじゃないっすか〜
0216nobodyさん
垢版 |
2018/12/12(水) 14:48:13.60ID:???
FWでORMとか使わないでPDO使うのってアリ?
Laravelに興味があるんだけど遅いことで悪名高いEloquentは使いたくない
PDOはクエリ直接書かんといけないからそれはそれで別の問題が出るけど
Laravelみたいな低速FWを少しでも高速化しようとなると仕方ないよね
0218nobodyさん
垢版 |
2018/12/12(水) 15:51:01.89ID:???
普通にpdoでいいじゃん
0219nobodyさん
垢版 |
2018/12/12(水) 19:49:30.47ID:N0nFFUma
>>218
なんで?
0220nobodyさん
垢版 |
2018/12/12(水) 20:58:56.90ID:???
>>219
pdo自体が完成されたクラスだから
あえてORMなんか使うよりクエリーの中身が見えるからパッと見わかりやすいし

あとデバッグもしやすい
0221nobodyさん
垢版 |
2018/12/12(水) 21:27:04.36ID:IoX0KMO/
>>220
SymfonyでDoctrineバンドルを使ってれば
ログにクエリーを記録したり、
プロファイラー(ブラウザで動くデバッグ用のツール)でクエリーを表示出来るので
そこまで不便は感じない

それどころかプロファイラーでは
explainを見たり、フォーマットされたクエリーやパラメータを埋め込んだ状態のクエリーも表示可能

DBALはORMより抽象度が低い
異なるプラットフォームのDBの抽象化とスキーマ管理のみに特化している
0222nobodyさん
垢版 |
2018/12/12(水) 21:39:09.97ID:IoX0KMO/
RedBeanPHPは使ったことないが
アノテーションやXMLを使ったスキーマ定義が不要とか(開発中に自動的に作られるから)
DoctrineみたいにQuery Builderがなくて
普通のSQLっぽく書けるのが特徴のようだ

5分で分かる公式のクイックツアー
https://redbeanphp.com/index.php?p=/quick_tour
0223nobodyさん
垢版 |
2018/12/12(水) 21:41:03.01ID:???
PDOが抽象化するのはDBへの接続だけでSQLの抽象化はほぼ行わない
その部分が必要になったら結局自分で書くかライブラリ使うかになる

というか計測もせずに速度のことを考えたってどうにもならん
とりあえずEloquentなりDoctrineなり使って組んでみて後でボトルネックになるようなら必要な部分を最適化する
0224nobodyさん
垢版 |
2018/12/12(水) 22:34:42.03ID:???
Eloquentはクソだよ
これは間違いない
0225nobodyさん
垢版 |
2018/12/13(木) 06:03:17.65ID:???
最近はSQLベタがきする人を馬鹿にするような風潮があって嫌だ
0226nobodyさん
垢版 |
2018/12/13(木) 09:47:14.05ID:VCdsiLIn
Doctrine DBALやORMでもQuery Builder使わずに
直接DQL/SQLを書くのは出来る
0227nobodyさん
垢版 |
2018/12/13(木) 10:29:27.47ID:???
ハードコーディングしないに越したことはないが
SQL書けない人がコーディング出来る怖さも感じる
高級プログラマーはアセンブラやれってレベルの老害話に聞こえるかもしれん
0228nobodyさん
垢版 |
2018/12/13(木) 16:43:25.97ID:???
なるべく書くな
だがいつでも書けるようにしておけ
0229nobodyさん
垢版 |
2018/12/13(木) 16:46:01.79ID:???
いや、SQLくらい自分で書けよw
html並に簡単すぎるんだが
0230nobodyさん
垢版 |
2018/12/13(木) 16:52:15.26ID:???
並べてるのがHTMLな辺り分かって書いてるんだろうなぁと思う
0231nobodyさん
垢版 |
2018/12/13(木) 18:41:45.09ID:???
HTML並って動くだけってならそれでもいいけど
高負荷な実用に耐えるようなSQLかけるようになるには
結構なスキルと知識が必要
0232nobodyさん
垢版 |
2018/12/13(木) 19:21:03.02ID:???
いやそんなにスキルいらんわ

件数数えるのクッソ重い!!!!

件数記録するテーブルつくって終了

JOINクッソ重い!!!!

JOINしないでJOIN元テーブルに列追加してそっちに必要なデータ入れて終了

とにかくデータ多すぎて重い!!!!

パーティションつくって終了
0233nobodyさん
垢版 |
2018/12/13(木) 21:08:54.14ID:???
最初の部分だけで、うちのチーム首ですわ
0234nobodyさん
垢版 |
2018/12/13(木) 21:09:54.79ID:???
x スキルいらない
o スキルない>>232はこれしかできない
0235nobodyさん
垢版 |
2018/12/13(木) 21:30:30.64ID:???
>>232のような素人は下手にSQL書くよりORMやクエリビルダに任せたほうがいいだろうな
ハイパフォーマンスが必要な場合は高度なスキルを有するDBエンジニアにまかせればいいわけだし
スタートアップやITドカタには必要
0236nobodyさん
垢版 |
2018/12/13(木) 22:05:39.43ID:???
>>234
んなわけねーだろバーカ笑笑

>>235
だからクエリービルダ使ったらどう速くなるんだよ?
答えろ
0237nobodyさん
垢版 |
2018/12/13(木) 22:10:32.97ID:???
>>236
君がいるとプロダクトが汚れる
はよ廃業しろ世の中のためだ
0238nobodyさん
垢版 |
2018/12/13(木) 22:15:11.21ID:???
>>237
いいから答えろ
クエリービルダ使ったらどう速くなるんだよ!!!!!?
0239nobodyさん
垢版 |
2018/12/14(金) 01:01:45.46ID:???
おー効いてる効いてる
0240nobodyさん
垢版 |
2018/12/14(金) 03:57:49.35ID:???
え、今ってSQLをViewに登録とかしないの?
最近NoSQLばっか使っててSQLDB知らんけど
0241nobodyさん
垢版 |
2018/12/14(金) 06:07:23.61ID:???
Viewなんかつかわないよ
移植性が悪くなるし保守が大変
0242nobodyさん
垢版 |
2018/12/14(金) 08:14:50.21ID:qkLTyTav
>>238
答えても良いが一つ条件がある。
0243nobodyさん
垢版 |
2018/12/14(金) 14:18:37.21ID:9zv35n9C
最強はSpefificationパターンだろ
QueryBuilderでは検索条件の再利用が難しい

Happyr Doctrine Specification
https://github.com/Happyr/Doctrine-Specification

This library gives you a new way for writing queries. Using the Specification pattern you will get small Specification classes that are highly reusable.
0245nobodyさん
垢版 |
2018/12/14(金) 19:21:02.40ID:???
生のSQL使うかどうかってのが問題の本質であってだな
0246nobodyさん
垢版 |
2018/12/14(金) 19:59:16.61ID:???
>>216
結論としてはQueryBuilderを使うと速くなるってことだ
0247nobodyさん
垢版 |
2018/12/14(金) 22:08:28.62ID:???
Cでインラインアセンブラ使うってのと通ずるとこがある
0248nobodyさん
垢版 |
2018/12/15(土) 07:33:58.47ID:???
ORMやクエリビルダは、メリットあるのか??
ふつうにSQL書けばいいじゃん。
0249nobodyさん
垢版 |
2018/12/15(土) 12:40:55.77ID:MUkpv+u/
取得したデータに型があった方がIDEでの補完が出来て分かりやすい
phpstanでエラーの検出も簡単になる
OneToManyの関係にある物も扱いやすい

QueryBuilderは関数と関数の間で受け渡しして
検索条件を追加していけるメリットがある
文字列連結で同じ事やるなんて間違えやすくて面倒
0250nobodyさん
垢版 |
2018/12/15(土) 15:39:38.09ID:???
素のSQL書くよりQueryBuilder使ったほうが動作が速いらしい
0251nobodyさん
垢版 |
2018/12/15(土) 19:57:04.87ID:???
ORMにしてもQBにしても所詮ラッパーだし
ステップ数が増えるのに早くなるわけないわ
0253nobodyさん
垢版 |
2018/12/15(土) 23:10:43.51ID:Ek2bk/Rc
速度が重要ならそもそもPHP使わない
0254nobodyさん
垢版 |
2018/12/16(日) 05:28:51.97ID:???
毎度思うがそれをいったら話が進まねえだろ
PHPが遅いなら遅いなりに速度を求めるってのは別に悪い話題じゃない
0255nobodyさん
垢版 |
2018/12/16(日) 06:38:38.41ID:???
駐留型でない再起動不要 インタプリタ
この辺の条件じゃPHPは一歩頭抜けてるのでは?
0256nobodyさん
垢版 |
2018/12/16(日) 07:11:55.71ID:???
駐留型って言葉はじめて聞いたけど、IT用語?

てかCGI実行でなければPHP.iniの設定変更したらWebサーバの再起動は必要よ。
0257nobodyさん
垢版 |
2018/12/16(日) 09:33:59.07ID:rJwJQrl3
よほど計算負荷の高いアプリケーションでない限り
ボトルネックはPHPではなくデータベースになる
0258nobodyさん
垢版 |
2018/12/16(日) 16:05:37.45ID:???
>>256
いやそういうことでなくファイル差し替えで
プログラムをメモリにロードするタイプって意味でいったんだが
駐留じゃなくて常駐って言いたかったん
0260nobodyさん
垢版 |
2018/12/17(月) 08:05:06.87ID:ZwIXn0qD
>>259
ウイルス注意
0261nobodyさん
垢版 |
2018/12/20(木) 05:52:04.27ID:???
PDOにてプリペアドステートメントを使用してmysqlにUPDATEを実行したいと思っています
値0x0001をバイナリで設定したいのですが、プレースホルダを使用して実行すると意図しない結果になってしまいます
どのようにすればよいでしょうか?

//成功パターン
$stmt = $pdo->prepare('UPDATE users SET progress = 0x0001 WHERE id = ?');
$stmt->execute([$_SESSION['id']]);
設定される値:0x0001

//失敗パターン@
$stmt = $pdo->prepare('UPDATE users SET progress = ? WHERE id = ?');
$stmt->execute([0x0001,$_SESSION['id']]);
設定される値:0x3100

//失敗パターンA
$stmt = $pdo->prepare('UPDATE users SET progress = ? WHERE id = ?');
$stmt->execute(['0x0001',$_SESSION['id']]);
設定される値:0x3078

//失敗パターンB
$stmt = $pdo->prepare('UPDATE users SET progress = ? WHERE id = ?');
$stmt->bindValue(1,0x0001, PDO::PARAM_INT);
$stmt->bindValue(2,$_SESSION['id'], PDO::PARAM_INT);
$stmt->execute();
設定される値:0x3137

//失敗パターンC
$stmt = $pdo->prepare('UPDATE users SET progress = ? WHERE id = ?');
$stmt->bindValue(1,'0x0001', PDO::PARAM_STR);
$stmt->bindValue(2,$_SESSION['id'], PDO::PARAM_INT);
$stmt->execute();
設定される値:0x3078
0262nobodyさん
垢版 |
2018/12/20(木) 11:55:13.98ID:???
phpは複数書き方がある時、どれがベストかを教えて欲しい
気づかない内に非推奨、廃止とか悲しい
0263nobodyさん
垢版 |
2018/12/20(木) 11:59:40.24ID:???
PDO::PARAM_バイナリ みたいなやつってある?
0264nobodyさん
垢版 |
2018/12/20(木) 12:01:03.31ID:???
>>261
配列を直接指定せず変数に代入してからだとうまくいくのでは?
0265nobodyさん
垢版 |
2018/12/20(木) 12:24:55.99ID:???
bit(16)にして"b'".base_converter('0x0001', 16, 2)."'"とか?
0266nobodyさん
垢版 |
2018/12/20(木) 12:43:18.59ID:???
$sql = "insert into test (
progress
) values (
:progress
)";
$stmt->bindValue(':progress', 0x0001, \PDO::PARAM_INT);

これでできた

やり方じゃなくて確認の仕方を間違えてたりしない?
0267nobodyさん
垢版 |
2018/12/20(木) 12:45:09.69ID:???
目的は16進数表示(0x〜〜〜)のデータをint型でDBに格納したいで合ってる?
0268nobodyさん
垢版 |
2018/12/20(木) 12:53:11.37ID:???
配列
$arrayは$array[0]と同等とのこと
ならば
$array="foo";

$array="foo";
$array[]="bar";
とするとエラーになりました

これは、
$arrayは$array[0]と同等に”見做してあげてる”という感じなのでしょうか?
0269nobodyさん
垢版 |
2018/12/20(木) 12:55:00.98ID:???
コードかくとなぜかブロックされてかけねーから日本語でかくけど
失敗パターン3で
プログレス=キャスト(? as ヴァーバイナリ(n))
とかDB側でキャストすればいいんじゃね?
試してないけど
0270nobodyさん
垢版 |
2018/12/20(木) 12:57:27.03ID:???
>$arrayは$array[0]と同等とのこと
え?
0271nobodyさん
垢版 |
2018/12/20(木) 13:10:24.58ID:???
>>268
$array=“foo”の意味
“foo”という文字列を変数arrayに代入 ←配列の変数じゃない

$array[]=“bar”の意味
“bar”という文字列を配列変数arrayに代入

エラーになるのはarrayが配列の変数じゃないのに
“bar”を突っ込もうとするから
0272nobodyさん
垢版 |
2018/12/20(木) 13:40:05.69ID:???
>>270
c言語にそういうのが合った気がする
ただ、単純に見づらすぎるので書い
たことないけど
0273268
垢版 |
2018/12/20(木) 13:40:53.49ID:???
すいません、なにか勘違いしてたようです
特に意味もないようなので、
array[0]
と書くようにします
0274nobodyさん
垢版 |
2018/12/20(木) 13:42:02.40ID:???
>>272
Cにだってそんなものはない

array[i] と i[array] が同じ(どっちも *(array * i) の糖衣構文)というのはあるけど
0275274
垢版 |
2018/12/20(木) 13:42:40.58ID:???
*(array + i)
0276nobodyさん
垢版 |
2018/12/20(木) 13:44:59.08ID:???
c言語だったら参照の話じゃない?
&arrayと&array[0]は一緒 (だった気がする)
0277274
垢版 |
2018/12/20(木) 13:49:54.18ID:???
array と &array[0] だろ
0278nobodyさん
垢版 |
2018/12/20(木) 13:51:01.61ID:???
>>276
あぁ、多分それです
お騒がせしました、申し訳ありません
0279261
垢版 |
2018/12/21(金) 03:03:56.77ID:???
ありがとうございます
教えていただいた方法を色々試してはみたのですがやはりどうもうまくいかず、
DB側の型をINTにして対応することで想定通りの動作にできました
実はもう一点悩んでいるところがありまして、
jQueryのAjaxからPOSTでPHPを呼び出すと、呼び出し元からのPHPセッションが切れてしまいます
そもそもこういう使い方はできないのか、何か間違っているのか教えていただきたいです。
js部分が若干スレチ気味かもしれませんが、よろしくお願いします。

//update.js
function Update(){
$.ajax({
type: "POST",
url: "update_progress.php",
data: {
progress: 0x0001
},
}
}

//update_progress.php
<?php
session_start();
(中略)
$stmt = $pdo->prepare('UPDATE users SET progress = :progress WHERE id = :id');
$stmt->bindValue(':progress',$_POST['progress'], PDO::PARAM_INT);
$stmt->bindValue(':id', $_SESSION['ID'], PDO::PARAM_STR); //$_SESSIONがNULLになる
$stmt->execute();
(後略)
?>
0280nobodyさん
垢版 |
2018/12/21(金) 03:11:36.78ID:???
ajax使ったことないから分からんのだけど
クッキーは送られてるの?
0281nobodyさん
垢版 |
2018/12/21(金) 03:17:12.49ID:???
クロスドメイン?
このページをみると色々設定してるみたいだけど
0283nobodyさん
垢版 |
2018/12/21(金) 03:22:20.31ID:???
ぱっと思いつく要因は二つ
・クッキーが送られてない
・セッションが切り替わってる
0284261
垢版 |
2018/12/21(金) 03:25:34.57ID:???
ありがとうございます!
クッキーかもしれません
送り方を調べています
0285nobodyさん
垢版 |
2018/12/21(金) 03:34:50.41ID:???
>>261では$_SESSION['id']と小文字になってるが
0286nobodyさん
垢版 |
2018/12/21(金) 03:39:12.85ID:???
>>284
送り方調べるより先に原因調べたほうがいいよ
・ブラウザにクッキー(PHPSESSID)が保存されているか
・ブラウザからpost先(update_progress.php)にクッキーが送られているか
0287261
垢版 |
2018/12/21(金) 03:39:27.91ID:???
>>285
すみません、こちらにコードを起こすときに打ち間違えたみたいです
大文字になってるのが本来は正しいです
0288nobodyさん
垢版 |
2018/12/21(金) 03:40:28.62ID:???
var_dump($_SESSION)もやってみてくれ
0289nobodyさん
垢版 |
2018/12/21(金) 03:48:36.02ID:???
>>286の調べ方は
クロームだったら
・アドレスバー左のアイコンをクリック → クッキーを見る
・右クリック→検証→Networkタブをひらく→update.js実行→通信が発生してグラフに線が表示されるのでクリック→リクエスト名をクリック→中段のcookieタブを開く
0290261
垢版 |
2018/12/21(金) 04:06:15.21ID:???
>>289
正常にセッション情報が取得できるページで使用しているクッキーに保存されているPHPSESSIDと、
update_progress.phpに送信されているRequest CookiesのPHPSESSIDは同じになっていることを確認しました
なんでだ...
0291261
垢版 |
2018/12/21(金) 04:10:20.78ID:???
>>288
NULLになります
0292nobodyさん
垢版 |
2018/12/21(金) 04:12:16.39ID:???
var_dump($_COOKIE)は表示される?
0293261
垢版 |
2018/12/21(金) 04:15:29.63ID:???
>>292
直前のページで使用しているクッキーのPHPSESSIDと同じものが表示されます
0294nobodyさん
垢版 |
2018/12/21(金) 04:15:50.93ID:???
print_r(ini_get_all('session'));
でもみてみれば
0295nobodyさん
垢版 |
2018/12/21(金) 04:21:31.43ID:???
>>293
PHPSESSIDを仮に”abc”だとして
1)
直前のページでセッションデータ保存する
→ var_dump($_SESSION) セッションデータ表示される
 var_dump($_COOKIE) “abc”が表示される

2)
update.js実行
→ var_dump($_SESSION) セッションデータ表示されない
 var_dump($_COOKIE) “abc”が表示される



↑今こんな状況?
0296261
垢版 |
2018/12/21(金) 04:26:13.15ID:???
すみません分割になります
[session.auto_start] => Array
[global_value] => 0
[local_value] => 0
[access] => 2
[session.cache_expire] => Array
[global_value] => 180
[local_value] => 180
[access] => 7
[session.cache_limiter] => Array
[global_value] => nocache
[local_value] => nocache
[access] => 7
[session.cookie_domain] => Array
[global_value] =>
[local_value] =>
[access] => 7
[session.cookie_httponly] => Array
[global_value] => 0
[local_value] => 0
[access] => 7
[session.cookie_lifetime] => Array
[global_value] => 0
[local_value] => 0
[access] => 7
[session.cookie_path] => Array
[global_value] => /
[local_value] => /
[access] => 7
0297261
垢版 |
2018/12/21(金) 04:27:13.91ID:???
[session.cookie_secure] => Array
[global_value] => 0
[local_value] => 0
[access] => 7
[session.gc_divisor] => Array
[global_value] => 100
[local_value] => 100
[access] => 7
[session.gc_maxlifetime] => Array
[global_value] => 1440
[local_value] => 1440
[access] => 7
[session.gc_probability] => Array
[global_value] => 1
[local_value] => 1
[access] => 7
[session.lazy_write] => Array
[global_value] => 1
[local_value] => 1
[access] => 7
[session.name] => Array
[global_value] => PHPSESSID
[local_value] => PHPSESSID
[access] => 7
[session.referer_check] => Array
[global_value] =>
[local_value] =>
[access] => 7
0298261
垢版 |
2018/12/21(金) 04:27:45.28ID:???
[session.save_handler] => Array
[global_value] => files
[local_value] => files
[access] => 7
[session.save_path] => Array
[global_value] => /tmp
[local_value] => /tmp
[access] => 7
[session.serialize_handler] => Array
[global_value] => php
[local_value] => php
[access] => 7
[session.sid_bits_per_character] => Array
[global_value] => 4
[local_value] => 4
[access] => 7
[session.sid_length] => Array
[global_value] => 32
[local_value] => 32
[access] => 7
[session.upload_progress.cleanup] => Array
[global_value] => 1
[local_value] => 1
[access] => 2
[session.upload_progress.enabled] => Array
[global_value] => 1
[local_value] => 1
[access] => 2
0299261
垢版 |
2018/12/21(金) 04:28:16.58ID:???
[session.upload_progress.freq] => Array
[global_value] => 1%
[local_value] => 1%
[access] => 2
[session.upload_progress.min_freq] => Array
[global_value] => 1
[local_value] => 1
[access] => 2
[session.upload_progress.name] => Array
[global_value] => PHP_SESSION_UPLOAD_PROGRESS
[local_value] => PHP_SESSION_UPLOAD_PROGRESS
[access] => 2
[session.upload_progress.prefix] => Array
[global_value] => upload_progress_
[local_value] => upload_progress_
[access] => 2
[session.use_cookies] => Array
[global_value] => 1
[local_value] => 1
[access] => 7
[session.use_only_cookies] => Array
[global_value] => 1
[local_value] => 1
[access] => 7
[session.use_strict_mode] => Array
[global_value] => 0
[local_value] => 0
[access] => 7
[session.use_trans_sid] => Array
[global_value] => 1
[local_value] => 1
[access] => 7
0300261
垢版 |
2018/12/21(金) 04:36:31.82ID:???
>>295
そういう感じです
0301nobodyさん
垢版 |
2018/12/21(金) 04:41:12.15ID:???
session.save_pathのところにセッションファイルが保存されていると思うけど
>>295の(1)から(2)に遷移するタイミングでファイルが上書きされてる?
0302nobodyさん
垢版 |
2018/12/21(金) 04:52:36.19ID:???
セッション保存した後にunset関数呼んじゃってるとか?
0303nobodyさん
垢版 |
2018/12/21(金) 04:55:41.08ID:???
session_destroy();とか
0304261
垢版 |
2018/12/21(金) 05:06:27.36ID:???
>>301
上書きされていました
たぶんこいつが原因ですよね
なんでや...

>>302-303
ログアウト処理では行っているところもありますが、それ以外だと無い感じです
0305nobodyさん
垢版 |
2018/12/21(金) 05:27:24.07ID:???
そのテストはどの環境でやってる?本番?ローカル?
本番なら共用サーバー?
0307nobodyさん
垢版 |
2018/12/21(金) 05:49:45.29ID:???
初心者受け付けるようになったんだな
0308nobodyさん
垢版 |
2018/12/21(金) 05:50:53.53ID:???
session_destroyかsession_regenerate_id実行してる位しか思いつかない
0309nobodyさん
垢版 |
2018/12/21(金) 06:14:55.33ID:???
共用サーバなら/home/user/public_htmlがドキュメントルートだとして
/tmpじゃなくて/home/user/tmpとかに変更するとうまくいく場合がある
0311nobodyさん
垢版 |
2018/12/21(金) 12:36:57.35ID:???
>>310
再現しないよ
cookie無効になってるだけでは?
0312nobodyさん
垢版 |
2018/12/21(金) 15:35:25.25ID:???
update.jsは正常に動作してる?
jquery読み込めてなくてajaxが動作してなくてupdate.php叩けてないとかじゃない?
0313nobodyさん
垢版 |
2018/12/21(金) 16:08:22.02ID:???
>>312
叩けてなければセッションが取れないとか言わないでしょう
たふん…
どっちにしろPHP関係ない可能性大だね
0314nobodyさん
垢版 |
2018/12/21(金) 16:16:10.51ID:???
謎だね

ブラウザから直打ちでupdate.php叩いたらうまくいくの?
0315nobodyさん
垢版 |
2018/12/21(金) 16:27:26.02ID:???
ajaxに関係なくセッションデータが利用できない環境なのか
ajaxが絡むとセッションデータが利用できなくなる環境なのか
0316nobodyさん
垢版 |
2018/12/21(金) 16:54:20.19ID:???
ちなみに俺も(>>311とは別人)ローカル環境で試してみたけど上手くいった
0317nobodyさん
垢版 |
2018/12/21(金) 17:08:23.81ID:???
とりあえず書いておくがGCPのGAEで確認したがIE11のセキュリティゾーンがインターネットだとcookieがガードされてセッションは取得出来なかった
セキュリティゾーンを信頼済みに変えるとOK
スレチなのでこの辺で
0318nobodyさん
垢版 |
2018/12/21(金) 17:17:49.35ID:???
>>293のクッキーとれてるってのは勘違いか
0320nobodyさん
垢版 |
2018/12/21(金) 18:27:15.80ID:???
PHP側で確認するならタイムアウト時間とかセッション管理をDBにしてみるとかか?
0321261
垢版 |
2018/12/21(金) 19:22:20.27ID:???
遅くなりすみません
>>312
再配布いいんだっけと思って、jquery同梱していませんでした
update.js自体は動作しました

>>314
update.phpのPOST要素を無くして、login.php開いてる状態からupdate.php直打ちしてもうまくいきませんでした

>>316
$_SESSIONが拾えなくてSQL失敗しててもjs側では成功と表示されるのですが、
そういう意味ではなく・・・?

使ってる環境がバリュードメインのコアサーバー+Chromeなんですが、そのせいなのかな・・・
0322nobodyさん
垢版 |
2018/12/21(金) 19:34:06.11ID:???
>>321
セッション拾える

>update.phpのPOST要素を無くして、login.php開いてる状態からupdate.php直打ちしてもうまくいきませんでした
セッション拾えないって意味?
0323nobodyさん
垢版 |
2018/12/21(金) 19:36:23.88ID:???
login.phpでセッション保存できてもupdate.php直打ち実行で
セッション表示されないって話ならajax関係ないな
0324nobodyさん
垢版 |
2018/12/21(金) 20:00:36.19ID:???
別ブラウザ、別PC・スマホとか端末かえてみてもだめなら、
サーバ側に問題があるのでは?
ユーザ設定ファイルのphp.iniや.htaccess設置してたら削除してみたり、
cronの設定削除してみたり、
削除してだめならsave.path変更とか、phpのセッション周りの設定変えてみたり、
レンタルサーバだと問題の特定は難しいけど、
デフォルトでPHPセッションがおかしくなる環境が提供されてるとは考えにくい。
0326261
垢版 |
2018/12/22(土) 05:16:09.12ID:???
お世話になっています
セッションが切れてしまう問題ですが、原因がわかり問題が解決いたしました
結果を言いますと、update.phpの先頭1行目に空白の改行があったことが原因でした
本番用のコードにもテスト用の最小構成コードにも空白行があり、そのため動作していなかったようです
色々手助けしていただき助かりました
ありがとうございました
0327nobodyさん
垢版 |
2018/12/22(土) 10:32:34.17ID:???
ど、どういうことだってばよ・・・
0328nobodyさん
垢版 |
2018/12/22(土) 11:13:14.04ID:???
解決してよかったけど、うーん、死ねってのが本音だぁ・・・
0329nobodyさん
垢版 |
2018/12/22(土) 11:32:07.48ID:???
「再現可能な」←再現しないコードをばら撒いて騒いでました
ペチパーはほんと民度が低いな
0331nobodyさん
垢版 |
2018/12/22(土) 12:10:02.01ID:BOcCfZD5
きっとおまえんちの部屋の中も
お前のコードと同じように無秩序で
足の踏み場もない汚部屋なんだろうな
0332nobodyさん
垢版 |
2018/12/22(土) 12:49:22.09ID:???
IDE(いったい 誰が気にする ええじゃないか)を使えばジャンプできるから問題ない
0333nobodyさん
垢版 |
2018/12/22(土) 15:10:28.84ID:???
再現したコードをこのスレに上げたけど環境によって
再現しないって話だからしょうがないと思うけどな

まー次からはこのスレ使うといいよ
【PHP】下らねぇ質問はここに書き込みやがれ 10
http://mevius.5ch.net/test/read.cgi/tech/1543392526/
0334nobodyさん
垢版 |
2018/12/22(土) 17:27:15.78ID:???
よくしらんがバリュードメインのコアサーバーって
無料のやつで先頭に広告が挿入されるようなやつか?
そうだとしても先頭空行でPHPが機能しないとか謎すぎる
0336nobodyさん
垢版 |
2018/12/23(日) 04:27:53.70ID:???
なるほど、headers already sentか。
確かにsession_start()はset-cookieしなきゃいけないからな。
しかし完全にオマ環だな。こりゃエスパーでも難しい。
WARNINGまで切っちゃってるのはレン鯖にありがちだが、
開発段階ならちゃんとerror_reportingだすようしないと。
0337nobodyさん
垢版 |
2018/12/23(日) 07:08:39.13ID:???
俺のローカル環境php.iniみたらoutput_buffering 4096になってたわ
>>261のレンサバはオフになってるのだろう
0338nobodyさん
垢版 |
2018/12/28(金) 04:50:53.86ID:???
気づけばプロ並みPHP読んでるけど難しというより面倒くさすぎて挫折しそう
会員登録システム作るだけでこんな面倒くさいのかよ
0339nobodyさん
垢版 |
2018/12/28(金) 05:00:28.65ID:???
会員登録システムなんて初歩の初歩だろ
0340nobodyさん
垢版 |
2018/12/28(金) 06:33:35.78ID:???
俺は今PHPで汎用型POSレジシステムを構築しようとしているぜ
0341nobodyさん
垢版 |
2018/12/28(金) 09:53:26.61ID:???
>会員登録システム
これはかなり鬼門だぞ。フレームワーク使ったほうが良い
セキュリティ方面はマジで沼だから初心者が手を出すべきじゃない
0342nobodyさん
垢版 |
2018/12/28(金) 09:57:03.41ID:???
初心者から勉強するならフレームワーク使うな
自分でセキュリティ含めて考えながらやるべき
その後フレームワークを使え
0343nobodyさん
垢版 |
2018/12/28(金) 10:00:14.04ID:???
期間決めて考えながらプロトタイプを作ってみる事はアリだと思うけど、
それをそのまま本番で使ってしまわないか心配だ
0344nobodyさん
垢版 |
2018/12/28(金) 11:43:04.19ID:???
ろくなフレームワークすらなかったPHP4の時代から独学で身につけたけど
今からPHPやるならフレームワークから入るってのもありなのかね
※今からやるなら他の言語をやれというのは無しでw

色々と便利なものはたくさんできたが
昔はウェブアプリといえばperlかPHPって感じで選択肢はあまりなかったけど
今から始める人は、選択肢がたくさんありすぎて訳わかんなくなったりするんだろうな
0345nobodyさん
垢版 |
2018/12/28(金) 12:07:47.18ID:???
最近は古い記事が検索にかかりにくくなっているから大分マシじゃないかな
昔は古い記事が普通に残っていたので本当に混乱してたわ
0346nobodyさん
垢版 |
2018/12/28(金) 13:30:53.38ID:???
でもPHP関係の質問を見てると
未だにDB処理にリペアドステートメント使ってないとか
酷いのになると mysql 関数をまだ使ってるとか
結構あるんだよなぁ

ああいうのは何を見てまねしてるんだろ

PHPならまずはこの本を読め!ってのが無いのも問題か
ひょっとしたら今は決定版みたいな本があるのかもしれないが
少なくとも俺はPHP関係の本を買った事が一度もないw
0347nobodyさん
垢版 |
2018/12/28(金) 13:55:39.98ID:???
mysql 関数はmysqli 関数に置き換えれば済む・・・そう思っていた時期が僕にもありました
古いwordpressは内部的にmysql関数使っててびびったゾ
0348nobodyさん
垢版 |
2018/12/28(金) 17:32:57.13ID:???
別にmysqliでもいい
無理してPDOにする必要はない
公開するわけじゃないし
結局PDOで書いても対応DBは1つなんだから
0349nobodyさん
垢版 |
2018/12/28(金) 17:46:57.69ID:???
PHP使ってるならSQLiteを使わないのはもったいないと思うけどね

個人の趣味程度のサイトならSQLiteの方がよほど手っ取り早い
もし負荷的にSQLiteで問題が出てきたらMySQLに変える
なんて事が、PDO使ってたら一瞬でできる

MySQLでしか使えない関数ももちろんあるけどさ
基本的なSQLはほぼ完全互換だし(当たり前)
0350nobodyさん
垢版 |
2018/12/28(金) 18:12:25.99ID:???
まずAUTOINCREMENTとAUTO_INCREMENTとSEQUENCEで既に違うのが面倒い
複数DB対応するならSQLを抽象化したい
0351nobodyさん
垢版 |
2018/12/28(金) 18:20:23.43ID:???
>>349
>基本的なSQLは「ほぼ」完全互換
ライトユーザーはwordpressだし、その辺がねぇ
0352nobodyさん
垢版 |
2018/12/28(金) 19:08:33.57ID:???
>>350が全部言ってるけど
結局PDOじゃ修正が必要になるわけで
将来的に別DBへのアップデート考えてんなら
最初からORM使っとけよって話だし
0353nobodyさん
垢版 |
2018/12/28(金) 19:40:08.69ID:???
>>351
WordPressはSQLite使えるでしょ
ひょっとしたら今のバージョンは使えなくなってるのかもしれないけど

つまり、実際にMySQL⇔SQLiteを柔軟に切り替えられるものはあるってこと


ライトユーザーこそWordPressなんか使っちゃ駄目だと思うんだよなぁ

2018年末頃頃だけでもプラグインの致命的な脆弱性のニュースを
何回も見て笑ってしまったw
そりゃ乗っ取られもするわ
0354nobodyさん
垢版 |
2018/12/28(金) 19:47:19.23ID:???
”個人の趣味程度”って話へドヤ顔でORMとか言われても…な
sqliteはたしかに楽だよな
ファイルがロックしちゃうのが弱点だが更新の少ないウェブアプリなら全然あり
0355nobodyさん
垢版 |
2018/12/28(金) 19:51:25.02ID:???
>353
どんなFWでも使えるし、プラグインなら更に楽に導入できる
問題はセキュリティ面やphp・SQL・apacheなどの低級なところで問題が見つかった場合
SQLliteはなんだかんだでマイナーなので、その辺を担保できる補償がない
てか、俺hは無理だ
0356nobodyさん
垢版 |
2018/12/28(金) 19:57:19.68ID:???
俺はスマホアプリもやるんでSQLiteがマイナーとか言われちゃうとモヤっとしちゃう
0357nobodyさん
垢版 |
2018/12/28(金) 20:49:33.78ID:???
wordpressならUPDATEよりSELECTのが圧倒的に多いし
ユーザー詰め込んでるレンサバならmysqlよりsqliteのが速度が出るまである

googleが表示速度を重視するってかなり前から言ってるのに
あんなくそ遅いcmsよく使うよなあ
どうせチューニングする知識もないだろうに
0358nobodyさん
垢版 |
2018/12/28(金) 21:07:41.43ID:???
さおりゃそうだよ、やっぱり使いやすいrCMSが最古ウさ
0359nobodyさん
垢版 |
2018/12/28(金) 21:29:21.67ID:???
CDNとか使わないなら、よっぽどの馬鹿が作らない限りセキュリティ面は大丈夫だろ
CDNとか下手にキャッシュさせるとそこから漏洩が始まるが。
0360nobodyさん
垢版 |
2018/12/28(金) 21:37:41.06ID:???
wordpressのプラグインにサイト乗っ取り余裕でしたレベルの脆弱性が立て続けに見つかってたのに
何言ってるんだこいつ
0361nobodyさん
垢版 |
2018/12/28(金) 21:38:45.98ID:???
プラグイン使うなよ
0362nobodyさん
垢版 |
2018/12/28(金) 21:42:11.33ID:???
>>360
よく分からんけど、便利なプラグイン導入>アップデートしたら乗っ取られたってこと?
それとも最初からプラグイン入れたら乗っ取られたってこと?
前者は分からんでもないけど、校舎はうくえないなあ
0363nobodyさん
垢版 |
2018/12/28(金) 21:52:11.16ID:???
このなかで一番美人なのって真ん中だよね?深キョンレベルだと思うのだが
ちなみに向かって右は目も鼻も整形してるって本人が公言してるけどそれ抜きにして誰が一番美人だと思う?
http://bigsta.net/media/1933567086757747003_3564907098
0364nobodyさん
垢版 |
2018/12/28(金) 22:39:20.78ID:???
IPAやJVNの発表を全然見てないのか知らないが
なんかPHPerがバカにされる理由がよく分かるな…
PHPも結構好きだから悲しくなってくるわ
0365nobodyさん
垢版 |
2018/12/29(土) 00:20:08.51ID:???
なんだかんだPHPって結局まるごとフロントエンドみたいな分野だからな
0366nobodyさん
垢版 |
2018/12/29(土) 07:08:41.88ID:???
>>354
それをいうなら個人の趣味程度でDBのスケールアップが必要か?
PDOなら書き換えが楽っていってるから
そうでもないだろうっていう話をしてるわけで
0368nobodyさん
垢版 |
2018/12/29(土) 08:20:25.01ID:???
>>364
何でPHP使って自前で組むのに
WordPressの情報なんて見てると思うんだ?
↓これならプラグイン使うなよってだけの話じゃん

WordPress 用プラグイン「WP Job Manager」におけるアクセス制限不備の問題について(JVN#56787058)
https://www.ipa.go.jp/security/ciadr/vul/20170615-jvn.html
0369nobodyさん
垢版 |
2018/12/29(土) 13:14:46.61ID:???
WordPressなら静的書出しすれば無敵っしょ。
できないサイトもあるだろうけど。
0370nobodyさん
垢版 |
2018/12/29(土) 13:29:24.09ID:???
ペチパーじゃないから知らんけど
wordpressてphpとなんかかんけーあるの?
0371nobodyさん
垢版 |
2018/12/29(土) 13:32:57.58ID:???
ありまくり。PHPの3割ぐらいはWordpress案件じゃないの
0372nobodyさん
垢版 |
2018/12/29(土) 14:52:58.83ID:???
IPAやJVNって別にWordPressだけ・PHPだけの話を扱ってるわけじゃないから
日頃からアンテナ張ってる人なら
WordPressの話も自然と目にするし知ってて当たり前
1件2件どころの話じゃないんだから尚更

実際、今年一年ほとんどPHP案件無かった俺ですら知ってるよ

とマジレスしてみた

その昔IPAが
セキュアなウェブアプリを作りたいなら
PHPなんか使うな(意訳)と公で書いて
散々叩かれてたけど
まあそう書きたくなる気持ちは分かるなw

PHPが悪いんじゃなくて使う人間の質の問題
0373nobodyさん
垢版 |
2018/12/29(土) 15:07:06.44ID:???
暗にPHPはオワコン言っててわろた
0374nobodyさん
垢版 |
2018/12/29(土) 15:10:22.25ID:???
そういう専門的なところ見てなくても知ってるのが普通じゃね?
あちこちでニュースになってたんだから知らない方がおかしいわ
0375nobodyさん
垢版 |
2018/12/29(土) 15:12:26.72ID:???
ペチパーはPHPが世界の中心だとでも勘違いしてそうだな
マイナー言語界隈のマイナーな話題などニュースとすら言えない
0376nobodyさん
垢版 |
2018/12/29(土) 15:17:01.32ID:???
>>375
現実と合ってない情報で貶めようとするのやめよう
韓国人じゃないんだから
0377nobodyさん
垢版 |
2018/12/29(土) 15:51:37.79ID:???
世界の中心(笑)

あれだけしょっちゅうあちこちで取り上げられてたら嫌でも目にするから
さすがに知らないのはただの無知かと

今年1年だけでもWordPress絡みの脆弱性発表は10数件はあったんじゃないかってのが個人的な印象
PHP案件絡んでない俺ですらこれなんだから
実際はもっとあったんじゃない?
0378nobodyさん
垢版 |
2018/12/29(土) 16:03:50.33ID:???
知り合いの鯖缶やってるのがWPに親殺された勢いでWPを嫌ってるけど
WPでブログやってアフィで稼ぐみたいな安易な輩が増えまくってるんだってな

IQ80以下じゃないのか?ってレベルのやつやHTNLも全くできないレベルのじじいが
サポートに連絡しまくってくるんだと
0379nobodyさん
垢版 |
2018/12/29(土) 16:07:12.57ID:???
HTNLとかありそうでないワード出されると不安になる
0380nobodyさん
垢版 |
2018/12/29(土) 16:07:38.18ID:???
あとIQって全く役にたたない指標だぞ
0382nobodyさん
垢版 |
2018/12/29(土) 16:54:25.46ID:???
全く話が噛み合ってなくて笑う
0383nobodyさん
垢版 |
2018/12/29(土) 16:54:26.32ID:???
>>378は10年ぐらい前からやってきたのか?
0384nobodyさん
垢版 |
2018/12/29(土) 17:02:16.63ID:???
>>380
知的障害の指標として今でも普通に使われてるけどね

IQ70未満が知的障害
80だと疑い高めの境目ってとこだからバカの例えとしてはいい線ついてる
0385nobodyさん
垢版 |
2018/12/29(土) 17:09:30.59ID:???
PHPのフレームワークって何がいいの?
0386nobodyさん
垢版 |
2018/12/29(土) 17:12:00.90ID:???
過去のcake資源引き継ぐとか理由ない限りLaravelでok
0387nobodyさん
垢版 |
2018/12/29(土) 17:17:53.66ID:???
>>383
ブログでアフィ自体は大昔からあったが
ここ最近流行?のパターンは、スキルの全くない人間が情報商材みたいなのに騙されて自分にもできると勘違いして手を出すんだとよ
だからサポートに来る問い合わせの内容が知的障害者レベルなんじゃね?

>>382
それな
プログラムやるやつにコミュ障が多いって言われる理由がよくわかるわ
0388nobodyさん
垢版 |
2018/12/29(土) 17:28:19.81ID:???
問い合わせのサポート対応できる人は尊敬する

俺なら
んなもん人から教わるようなもんじゃねぇんだから
ググればすぐ分かる事を他人に聞いてる時点でセンスねぇよ
やめちまえ
とか言いそうw
0390nobodyさん
垢版 |
2018/12/30(日) 06:29:19.57ID:???
WordPressなんてブログツールとしか思ってないし
使わないから全く興味ないから、ニュースになっててもスルーだわ
0391nobodyさん
垢版 |
2018/12/30(日) 08:07:37.65ID:???
JVNの脆弱性レポートが偏ってるのは
ベンダーが掲載を許可するという大前提があるからだ
掲載されてないだけでサイボウズやWPが特別多いわけじゃない
0392nobodyさん
垢版 |
2018/12/30(日) 17:33:29.19ID:???
Linux難しいぉ
リポジトリみたら5.4だったからしょうがないからソースからいれたんだけど
#!/usr/local/bin/phpとかよく見るしそこに狙ったつもりが
/usr/local/bin/php/bin/phpにインストールされてるw
0393nobodyさん
垢版 |
2018/12/30(日) 21:13:21.85ID:???
狙ったところに直接インストールするんじゃなくて
バージョン管理しやすいところにインストールして
シンボリックリンクを張るんだよ
そうすればバージョンの切り替えも簡単だから

Apacheとかも一緒
0394nobodyさん
垢版 |
2018/12/30(日) 21:37:09.54ID:???
どうせCentOS7だろうから素直にremiのやつ入れとけ
0395nobodyさん
垢版 |
2018/12/31(月) 17:28:38.17ID:???
今日でPHP5.6≒PHP5.xのサポート終了か
7にしても5時代となんもコードは変わってないけど
そろそろナウでヤングでイケてるPHP7のコードかけるようにしないとな!
0396nobodyさん
垢版 |
2018/12/31(月) 17:58:40.74ID:???
そーなのけ
Hackとかどーなるん?
0397nobodyさん
垢版 |
2018/12/31(月) 23:19:44.76ID:???
HackはPHPとほぼ同じシンタックスってだけで中身はほぼ別物じゃないの?
2週間前に3.30が出たみたいだしGithubみても更新は活発に見えるし心配はいらんかと
0398nobodyさん
垢版 |
2019/01/01(火) 12:09:42.01ID:???
HackのPHP5サポートはすでに終了していて
PHP7の機能も積極的には取り入れないとのこと
PHPはこれからもHackの成果を取り入れるだろうから
HackからPHPへの移行は簡単だろうがその逆は大変になるだろう
0399nobodyさん
垢版 |
2019/01/01(火) 21:44:26.86ID:???
最近SQLiteでなんかバグあったような気がするけど、
phpinfo見てるとライブラリのバージョンが3.7.17でちょっと不安。
これバージョンアップ出来ない?
0400nobodyさん
垢版 |
2019/01/02(水) 01:42:08.44ID:???
RHEL7かCentOS7か?
そもそもPHPの sqlite3.so と pdo_sqlite.so は libsqlite3.so (sqliteパッケージ) に依存していてその中身を呼び出してる
更新するなら

1. PHPモジュール sqlite3.so と pdo_sqlite.so を新しいバージョンのsqliteを静的リンクするようにビルドして入れ替える
2. システムの libsqlite3.so を新しいバージョンのsqliteをビルドしたものに差し替える

のどちらかになるわけだがぶっちゃけRed Hatがバグレポ受けた上でwon't fixなら大概大きな問題はなかろうし費用対効果考えたらやってらんねー
それにsqliteはyumとかのコアパッケージが依存しているから切り戻せるかどうか怪しいバージョンアップは危険過ぎる
0401nobodyさん
垢版 |
2019/01/02(水) 07:21:54.60ID:???
>>400
とてもいい情報ありがとう。
ちょっと試してみる。
0402nobodyさん
垢版 |
2019/01/02(水) 19:15:49.36ID:???
その論理だと何一つ更新できなくなりそうだな
0403nobodyさん
垢版 |
2019/01/03(木) 17:26:28.07ID:???
セキュリティの勉強をしているのですが、CSRF対策で使用するトークンは、【入力】→【確認】→【実行】の場合、どのタイミングで生成するのが一般的ですか?
IPAの安全なウェブアプリケーションの作り方や、徳丸浩さんの参考書も見ているのですが、難しいです。
詳しい方、アドバイスをください。
よろしくお願いします。
0404nobodyさん
垢版 |
2019/01/03(木) 21:25:10.36ID:???
入力-確認を経ないでいきなり実行が出来る場合は実行時に
入力-確認-実行と遷移してきたのを保証(改ざん検出)する場合は全てに
0405nobodyさん
垢版 |
2019/01/03(木) 23:17:39.05ID:???
最近増えてるけどCSRFでパスワード再入力求めるとこってユーザビリティ悪すぎだよな
0406nobodyさん
垢版 |
2019/01/04(金) 06:59:08.91ID:???
ユーザビリティと堅牢性は、相反するのよ
0407nobodyさん
垢版 |
2019/01/04(金) 07:07:33.74ID:???
>>403
俺、詳しくないけど、【確認】だと思うよ
0408403
垢版 |
2019/01/04(金) 09:47:18.57ID:???
>>404さん
>>407さん
アドバイスありがとございます。
日付が変わってしまい、申し訳ありません。
いただいた助言を踏まえて学習を続けます。
ありがとうございました。
0409nobodyさん
垢版 |
2019/01/04(金) 11:27:21.49ID:???
基本は重要な操作をする前の画面でトークン入れて、次の重要な操作で突き合わせる。
例えば、情報を編集する カートに入れる 決済する といったもの。

一番重要な最後の決済だけでやればいいと、カートに入れるに対策をしなかった場合、
よそのサイトでカートに詰め込められたあと、
カートに入れてる品物を確認せず、気づかずに決済を実行してしまうケースも考えられる。
またここで気づいたとしても、覚えのない物を買わされそうになったという不信感が生まれる。
ということで実害は少なくても、カートに入れるにも対策をするべき。
という感じで、どこに必要かを考えてみるといい。

入力→確認画面→実行で考えると、
入力をCSRFで受け付けてしまっても、確認画面に行くだけで攻撃に有効性はないが、
よそからのリクエストを受け付けてしまうことが、脆弱性を生むそもそもの原因なので、
実害はなくてもトークンがなければ全ての画面でリクエストを受け付けないと、
全画面に入れるのも全然あり。
0410403
垢版 |
2019/01/04(金) 12:10:28.94ID:???
>>409さん
実装によって必要な箇所が変わるのですね。
わかりやすい例えをありがとうございます。
0411nobodyさん
垢版 |
2019/01/05(土) 10:59:03.42ID:???
そもそもの話
CSRF対策用のトークンは出力の際に自動で付与するようにし
チェック処理も自動でやるようにしないと
駄目だと思う

XSS対策なんかもそうだけど
こういう事にいちいち人の手を入れる余地があると
必ずミスが発生する

要するにフレームワークに任せなさいってこと

勉強のために自前で実装したいならトークンは
output_add_rewrite_var()
を使って自動付与してチェック処理内に
そのトークンを必ずチェックするような処理を加えればいい

トークンはセッションIDに何らかの種を加えたハッシュ値を使うのが楽

そこまで手間ではない
https://qiita.com/mpyw/items/8f8989f8575159ce95fc
この例を output_add_rewrite_var() を使って
トークンを自動付与するように改造してみるといい
0412nobodyさん
垢版 |
2019/01/05(土) 11:47:51.01ID:2pasFScb
mktime,gmmktime,strtotimeで9時間遅いタイムスタンプが出力されてしまいます。
time()の値は、正しい今のタイムスタンプが出ます。
ズレが9時間なので標準時からの時差なんだろうと推測していますが、原因、解決策が分かりません。
どの様な所をチェックしてみるべきでしょうか?
0413nobodyさん
垢版 |
2019/01/05(土) 12:05:52.12ID:???
フレームワークに任せなさい(脳死
0414nobodyさん
垢版 |
2019/01/05(土) 12:08:14.76ID:???
>>412
ロケールの設定が適切でないからじゃね
date_default_timezone_set('Asia/Tokyo');
0415nobodyさん
垢版 |
2019/01/05(土) 13:24:00.76ID:X9IhzCOp
>output_add_rewrite_var()
これは知らなかった
テンプレートに明示的に書きたいし
必要性を感じないけどさすがPHPなんでもアリだな
0416412
垢版 |
2019/01/05(土) 14:20:17.55ID:2pasFScb
>>414
ありがとう。
ハマって午前中潰してしまったのが、一発で上手くいったよ。
0417nobodyさん
垢版 |
2019/01/05(土) 15:14:25.56ID:???
初心者みたいな質問だな
0418nobodyさん
垢版 |
2019/01/05(土) 15:23:38.00ID:???
>>413
PHPの生みの親自らがそう言ってるしな
0419403
垢版 |
2019/01/05(土) 16:13:47.44ID:???
>>411さん
アドバイスありがとうございます。
output_add_rewrite_var()は初めて知りました。
フレームワークについては脆弱性をしっかりと理解して、対処方法を学んでから使おうと考えています。
ありがとうございました。
0420nobodyさん
垢版 |
2019/01/05(土) 16:54:07.77ID:???
むしろフレームワークを使わない方が脆弱性が増えると思う
セキュリティは最低限の知識しかないけど、追いかけてたら人生終わるってのはよくわかった
0421nobodyさん
垢版 |
2019/01/05(土) 18:14:57.47ID:???
>フレームワークについては脆弱性をしっかりと理解して、対処方法を学んでから使おうと考えています。
これがプログラマーとしてあるべき姿

>追いかけてたら人生終わる
問題があったときに対処できる幅が広がるから
高級言語やるなら低級言語からやれっていう極論は見たことあるし
時間の無駄だしそれはさすがにないわーって思ったけど
XSSとXSRFとSQL Injectionの3つぐらいは
時間もたいしてかからんしPHPerなら仕組みから知っておくべきだと個人的には思う
0422nobodyさん
垢版 |
2019/01/05(土) 18:24:47.82ID:???
>>421
ちょうどその3つだわ、師匠から教わったの
プリペアードステートメンド、htmlspecail quat〜
とか言ってたな
もう俺はFWに全部任せるけど、FWを避ける派はどうしてんだおるな
0423nobodyさん
垢版 |
2019/01/05(土) 18:42:57.38ID:???
スキルのないやつの

XSS対策した(つもり)
CSRF対策した(つもり)
ほどたちの悪いものない

そんなの全く知りません
と言ってくれた方が100万倍マシ

勉強のために車輪の再発明をする事自体は大いに推奨するが
自分のスキルのなさは自覚してもらわないと困る
0424nobodyさん
垢版 |
2019/01/05(土) 18:54:49.97ID:???
XSS程度のものならFWも度々やらかしてる
一度導入したらアップデートはなかなかされないというのもFWにはありがち
サーバのログ見てもわかるようにある物を導入してるのを前提に攻撃してくるので
オープンソースのものを使うというのは狙われる危険性も増える
FWを使うなら最新情報もちゃんと追うように
0426nobodyさん
垢版 |
2019/01/05(土) 19:02:01.80ID:???
>>423
そうそう
完全に自覚してるし、だからFWに完全に依存
クライアントにも言っているよ、本気でデータ保護やりたいなら別の業者にお願いしますってね
0427nobodyさん
垢版 |
2019/01/05(土) 19:03:49.31ID:???
あらゆる攻撃から守り続けることができるベンダーは本当に羨ましい
0428nobodyさん
垢版 |
2019/01/05(土) 19:04:09.40ID:???
アマグラマーが商売してんじゃねえよ!
適当なもん組んでんじゃねえぞ!オラ!!!!!
0429nobodyさん
垢版 |
2019/01/05(土) 19:04:24.72ID:???
>>411は別に脳死で既存のフレームワークに丸投げしろという意味ではないんだけどね

俺々マイクロフレームワークでもいいから
そういう処理を自動で行うように設計した方がいいってこと

例えばXSS対策なんかは htmlspecialchars() をいちいち通してたらミスが起こるから
テンプレートエンジン側で {{ $var }}のようにすれば
自動でエスケープするようになってるわけだ
人はミスをする生き物だからミスが入り込みにくい設計を考えるのも大事
0430nobodyさん
垢版 |
2019/01/05(土) 19:10:32.70ID:???
どうして誰もがPHPレベルでの整合性を求めるのか,私には分かりません。整合性をとるのはフレームワークの役割です。
フレームワークは問題を解決するための全体的なアプローチを定める場所ですから。
PHPはその下のレベルにあって,ただ低レベルにあるライブラリとか関数とかへのアクセスを提供するだけの存在です。

ラスマス・ラードフの発言な
PHPの立ち位置を理解してないやつが多すぎ
0431nobodyさん
垢版 |
2019/01/05(土) 19:13:16.36ID:???
自動処理は必要のないものにまで処理をすることになるから
FWを使わないような層(≒速度重視)とは思想が相容れないんでないか
0432nobodyさん
垢版 |
2019/01/05(土) 19:13:50.30ID:???
それphpかんけーし
ペチパーって頭悪そうだな
0433nobodyさん
垢版 |
2019/01/05(土) 19:31:32.59ID:???
ところでなぜwordpressは毎回毎回セキュリティアップデートしてるの?
それだけ攻撃される穴があるの?
それとも新たな攻撃方法がみつかってそれに対処してるの?

ということはフレームワークにもいろいろ穴があるわけだよね?
なのにwordpress並にはアップデートしてない
なぜですかい?
0434nobodyさん
垢版 |
2019/01/05(土) 19:41:46.06ID:???
フレームワークを使わない=速度重視ってより
他人の作ったプログラムに囚われたくないんだろう

フレームワークのバージョンアップを適用したら動かなくなったとか
適用したら設定項目が増えてたとか、面倒でしょう?

使ってるフレームワークに脆弱性が見つかったとか言われ
その脆弱性で今まで被害があったのか?とか面倒なこと聞かれたら大変でしょう?
0435nobodyさん
垢版 |
2019/01/05(土) 19:46:13.63ID:???
>>433
高機能だkら山程セキュリティホールがある
他のFWは低機能だからセキュリティホールが少ない

>>434
まぁセキュリティホールをの説明なしにフルスクラッチで作りがる業者や個人は疑ったほうが良い
脆弱性による被害は無い→今後ある可能性がある、そのコスパは非常に悪い
こういうとこまで説明する必要がある
0436nobodyさん
垢版 |
2019/01/05(土) 19:50:26.87ID:???
WPはCMSでFWでない
セキュリティアップデートは利用人数と開発者人数によるとこが大きい
潜在的な問題はほぼ100%どのソフトウェアも抱えている
それが表に出ないだけ
0437nobodyさん
垢版 |
2019/01/05(土) 19:52:31.14ID:???
WPは設計が古すぎる

今だに低レベルなxssが起こってるのは、
テンプレートエンジンを通してないのが理由だし
プラグインで低レベルなxsrfが起ってるのは、
そこの処理がプラグイン開発者に依存してるから

良く言えば自由度が高いと言えるが、
一貫性のある手法を提供しきれてないから、
プラグインで致命的な脆弱性が頻発してる。
この辺りは430の話にも通ずるな

コードレベルでいえばglobal宣言だらけな時点でお察しだし
0439nobodyさん
垢版 |
2019/01/05(土) 19:59:31.49ID:???
まぁwordpressは世界のサイトの3割だかが
これで作られてるってぐらいシェアがあるから
その分攻撃対象になりやすいってのもある

サバのログ見てりゃ分かるが
中国あたりからwordpressの脆弱性をチェックする
ボットが飛びまくってくるからな
0440nobodyさん
垢版 |
2019/01/05(土) 20:04:40.70ID:???
PHPでフレームワーク使う必要なくね?
フレームワーク使うぐらいなら別の言語でよくね?
なんでPHPつかってまでわざわざフレームワークなんて使ってるのか?
俺にはペチパー思考はさーっぱり理解できないわw
0441nobodyさん
垢版 |
2019/01/05(土) 20:22:19.53ID:???
フレームワークを使うのは、既にあるものをわざわざ自分で0から作る必要なくね?ってやつだろう
0442nobodyさん
垢版 |
2019/01/05(土) 20:25:38.22ID:???
>>440はPHP以外にどんな言語ができて
その言語ではどのフレームワーク使ってて
例えばSQLの組み立てはどうやってるのか教えて
0444nobodyさん
垢版 |
2019/01/05(土) 20:49:11.42ID:???
FW使うにもプログラム言語を少しは触る必要があるわけで
PHPが簡単という嘘に惑わされた初心者がPHPから始めてるから仕方ない
最近は充実してるけどもっと早く豊富な日本語ドキュメントにアクセスできれば
圧倒的にPythonが流行っていただろうにな
0445nobodyさん
垢版 |
2019/01/05(土) 21:48:29.31ID:???
>圧倒的にPythonが流行っていただろうにな
無いかなぁ

日本ではHSP、ツクールが流行ってたからな。
なんやかんやでゲームとKAWAIIの国
pythonはないかなぁと思う
pythonメインのDXライブラリみたいなのがあれば流行ってたかもね
0446nobodyさん
垢版 |
2019/01/05(土) 22:31:07.33ID:???
>>443
俺はJava、Swift、Objective-Cとか
古い言語だとPerlも触れるけど>>440みたいな考えは全く理解できないんで
どんな言語でどんな環境だったら440みたいな考えになるのか興味があるので
0448nobodyさん
垢版 |
2019/01/05(土) 22:38:48.79ID:???
FWを使う使わないが速度云々とか
WPとFWの区別も付いてないとか
PHPでFW使う意味が分からないとか
もうね…

このスレに初心者お断りって書いてる意味がないと思うの
0449nobodyさん
垢版 |
2019/01/05(土) 22:44:02.73ID:???
そういやもうwpを長らく触ってるから私は中級者ですっていわれりゃそれはそうだし、
何を持って初心者かだよな
0450nobodyさん
垢版 |
2019/01/06(日) 03:07:57.27ID:???
>>430
前後の肝心なとこ抜くなよ

この発言はPHPの一貫性のなさや批判に対して開き直った発言で
ラードフが初期にあんま深く考えずオレオレライブラリとして作ってたことを示してる
批判に対して整合性が欲しいならフレームワーク使えばいいということに言及したに過ぎず
ラードフ自身フレームワークの遅さを指摘しPHPでは使う必要はないと言っている

Strutsあたりで流行しRoRで完成したMVCが今主流ってだけで(MVVMも流行ってるが)
PHPはそれ以前に流行したHTML埋込み型のWebアプリケーションFWであるというのは知っておけ

>>448
速度重視するならPHP使わないとか言い出すいつものキ○ガイ?
サーバチューニングして半ば強引に最近WPは早くなってきたけれど
肥大化したアプリケーションというのは元々遅くなるもの
FW(特にフルスタック)なんてのはそういうアプリケーションの代表格
0451nobodyさん
垢版 |
2019/01/06(日) 07:59:34.06ID:???
PHPの利点を殺さずMVCでコード書きたいならPhalconかSlimでも使えばいい
LaravelやCakePHPは脳死した人間が使えばいい
0452nobodyさん
垢版 |
2019/01/06(日) 19:14:18.23ID:???
PHPのコードを手っ取り早く早くするには
ZephirでPHPエクステンション書けばいい
WPをPHPエクステンションに移植したら有名になれるよ
0453nobodyさん
垢版 |
2019/01/06(日) 20:35:44.08ID:???
>WPをPHPエクステンションに移植
0455nobodyさん
垢版 |
2019/01/07(月) 14:34:51.01ID:K5PXrPkY
可変引数でうまいバリデーション方法あったら教えて下さい
ルールとしては
・引数の数は3か4である
・$args[0]は1か2か3である
・$args[1]は1-100である
・$args[2]は$args[0]が1か3の場合1-100で$args[0]が2の場合1-10である
・$args[3]は$args[0]が3のもので英数字が入る ただし1文字目は数字はいけない

素直にコードにするとこうなります
function foo(...$args)
{
 $len = count($args);
 switch ($len) {
  case 3:
   if ( ($args[0] === 1) && ($args[1] > 0) && ($args[1] <= 100) && ($args[2] > 0) && ($args[1] <= 100) ) {
    // pass
   } elseif ( ($args[0] === 2) && ($args[1] > 0) && ($args[1] <= 100) && ($args[2] > 0) && ($args[1] <= 10) ) {
    // pass
   }
   break;
  case 4:
   if ( ($args[0] === 3) && ($args[1] > 0) && ($args[1] <= 100) && ($args[2] > 0) && ($args[1] <= 100) && (ctype_alnum($args[2])) && (!ctype_digit($args[2][0]) ) {
    // pass
   }
   break;
 }
}

もうちょっときれいにかけたら書きたいです
これでは見直すたびに鬱になりそうです
0456nobodyさん
垢版 |
2019/01/07(月) 15:11:58.24ID:???
アプリケーションの文字エンコーディングがUTF-8で統一されている時、
<input>要素から送られてくる文字列の文字エンコーディングの検証は必要ですか?
0457nobodyさん
垢版 |
2019/01/07(月) 15:28:34.29ID:???
ルール通りチェックしていけばいいのでは?
0458nobodyさん
垢版 |
2019/01/08(火) 14:12:28.61ID:???
>>455 こういうコード書く奴とは一緒に仕事したくないなと思う
0459nobodyさん
垢版 |
2019/01/08(火) 15:26:51.90ID:???
一緒に仕事したくなるようなコードをぜひ見せてくれ
0460nobodyさん
垢版 |
2019/01/08(火) 16:57:28.15ID:???
引数の数チェックいるか?俺なら最大4つ想定して無視するが
$list($w, $x, $y, $z) = $args;
switch ($w) {
 case 1:
 case 2:
 case 3:
}
でわけたほうがすっきりする

filter_var($x, FILTER_VALIDATE_INT, [
 'options' => [
  'default' => FALSE,
  'min_range' => 1,
  'max_range' => 100
 ]
]);

(function($x) {
 if (is_int($x) && $x > 0 && $x <= 100) return $x;
 else return FALSE;
})($x)

こうしてみると下はシンプルだけど上の方がより直感的でわかりやすいと思う
0461nobodyさん
垢版 |
2019/01/09(水) 13:55:21.64ID:???
バリデーションは本当面倒だよね
なんかいいライブラリない?
0462nobodyさん
垢版 |
2019/01/10(木) 02:56:13.42ID:6vuu0CDC
ヒカキンの年収が10億超え!?明石家さんま・坂上忍も驚愕の総資産とは??
https://logtube.jp/variety/28439
【衝撃】ヒカキンの年収・月収を暴露!広告収入が15億円超え!?
https://nicotubers.com/yutuber/hikakin-nensyu-gessyu/
HIKAKIN(ヒカキン)の年収が14億円!?トップYouTuberになるまでの道のりは?
https://youtuberhyouron.com/hikakinnensyu/
ヒカキンの月収は1億円!読唇術でダウンタウンなうの坂上忍を検証!
https://mitarashi-highland.com/blog/fun/hikakin
なぜか観てしまう!!サバイバル系youtuberまとめ
http://tokyohitori.hatenablog.com/entry/2016/10/01/102830
あのPewDiePieがついに、初心YouTuber向けに「視聴回数」「チャンネル登録者数」を増やすコツを公開!
http://naototube.com/2017/08/14/for-new-youtubers/
27歳で年収8億円 女性ユーチューバー「リリー・シン」の生き方
https://headlines.yahoo.co.jp/article?a=20170802-00017174-forbes-bus_all
1年で何十億円も稼ぐ高収入ユーチューバー世界ランキングトップ10
https://gigazine.net/news/20151016-highest-paid-youtuber-2015/
おもちゃのレビューで年間12億円! 今、話題のYouTuberは6歳の男の子
https://www.businessinsider.jp/post-108355
彼女はいかにして750万人のファンがいるYouTubeスターとなったのか?
https://www.businessinsider.jp/post-242
1億円稼ぐ9歳のYouTuberがすごすぎる……アメリカで話題のEvanTubeHD
https://weekly.ascii.jp/elem/000/000/305/305548/
世界で最も稼ぐユーチューバー、2連覇の首位は年収17億円
https://forbesjapan.com/articles/detail/14474
0464nobodyさん
垢版 |
2019/01/13(日) 15:09:43.72ID:sgx7HV/k
PHPで制御文字を除去する仕組みを学んでいるのですが、肝心の制御文字の送信方法がわかりません。
ツールなどを使わなければ制御文字は送信できないのでしょうか。
詳しい方、アドバイスをください。
よろしくお願いします。
0465nobodyさん
垢版 |
2019/01/15(火) 04:43:46.71ID:???
ADCEBという文字列があるとし、
BとCとDの文字のうち、どの文字が最初に来るのか調べて、
最初に来た文字を変数にしまいたい場合、どのようにするのが
いいでしょうか?

>BとCとDの文字のうち
この部分はAとBを調べたかったり、CとDとEを調べたかったり
可変なのでどう処理すべきか悩んでいます。
0466465
垢版 |
2019/01/15(火) 04:48:29.14ID:???
>>465
言葉足らずだったので補足です。
ADCEBという文字列の中で、「BとCとD」の文字うちどれが最初に来るのか
調べたい、ということです
この例だとDが答えです。
0467nobodyさん
垢版 |
2019/01/15(火) 06:54:56.22ID:???
strposで1個ずつ調べれ
0468nobodyさん
垢版 |
2019/01/15(火) 08:37:32.10ID:???
全部の順序調べたりする必要もなく
最初に見つかったの返すだけならstrposすらいらぬ
$str = 'ADCBE';
$array = ['B', 'C', 'D'];
for ($i = 0; $i < strlen($str); $i++) {
 foreach ($array as $char) {
  if ($str[$i] == $char) {
   echo $char;
   break 2;
  }
 }
}
もうちょいコード短くしたいならforeachのとこはin_array使えばいい
つうか初心者スレ案件
0469nobodyさん
垢版 |
2019/01/15(火) 09:11:11.52ID:???
もう少し綺麗なサンプルコード書いてやれよ・・・
0470nobodyさん
垢版 |
2019/01/15(火) 09:19:41.86ID:???
>>465
ほい

$text = "ADCEB
";
if(preg_match("/([DEF])/",$text,$m))
echo $m[1];


>>468
ダッさwww
0471nobodyさん
垢版 |
2019/01/15(火) 09:37:16.10ID:f4NkL95G
配列作ってfor/foreach回すと遅重くなるよね?
文字列操作のstrposを必要なだけ並べてやった方が速軽いんじゃないかな?
0472465
垢版 |
2019/01/15(火) 12:47:21.77ID:???
みなさんありがとうございます。
>>470さんのものが簡潔なので利用させていただきます。
preg_matchをこう使う方法もあるのですね…驚きです。
ありがとうございました。
0473nobodyさん
垢版 |
2019/01/15(火) 13:50:47.33ID:???
計算量考えたコード書けよ
preg_matchなんて短いだけだからな
0475nobodyさん
垢版 |
2019/01/15(火) 14:57:32.64ID:???
>>465-466の条件でならstrposよりも早そうだけどな
計算量だけがボトルネックじゃないから
例えば最速であろうハッシュマップを参照するのも
array_key_existsみたいな関数使わんといけないし(じゃないとエラー出る)
0476nobodyさん
垢版 |
2019/01/15(火) 15:44:59.10ID:???
$str = 'ADCBE';
$array = ['B', 'C', 'D'];
$pos = strlen($str) + 1;
foreach ($array as $char) {
 if (($idx = strpos($str, $char)) !== false && $idx < $pos) $pos = $idx;
}
if (strlen($str) > $pos) echo "found {$str[$pos]}";

preg_matchのほうがちょっとだけ早い
1文字でいいならpreg_matchのほうがよさそう
0477nobodyさん
垢版 |
2019/01/15(火) 15:53:20.80ID:???
preg_matchでパフォーマンスも読みやすさも十分だろうに
0478nobodyさん
垢版 |
2019/01/15(火) 16:11:43.34ID:???
複雑なバリデーション以外に正規表現は使うべきでない
それも正規表現以外には手がないという最後の最後
1文字チェックに使ってたら笑うわ
>if (($idx = strpos($str, $char)) !== false && $idx < $pos)
if (($idx = strpos($str, $char)) < $pos)
でいいしこれでpreg_matchなんてぶっちぎれるだろ
0479nobodyさん
垢版 |
2019/01/15(火) 16:18:24.79ID:???
あーあかんわw0になるか
0480nobodyさん
垢版 |
2019/01/15(火) 16:22:07.92ID:???
>>478
なんか速そうに見えるだけのコードよりも
ライブラリ内で爆速で動く方がそりゃ速いよ
0481nobodyさん
垢版 |
2019/01/15(火) 16:49:00.41ID:???
>>476 逆
$str = str_split($str);
$array = implode('', $array);
foreach ($str as $char)
 if (strpos($array, $char) !== false)
  return $char;
0482nobodyさん
垢版 |
2019/01/15(火) 17:11:28.28ID:???
先頭のほうで見つかる保証がないのならあんまよくない。
0483nobodyさん
垢版 |
2019/01/15(火) 17:17:00.66ID:???
>>481
面白いけど、まだ遅いね

サービスで$strと$arrayの生成をループの外に置いても
実測でpreg_match版の1.5倍くらい遅い
0484nobodyさん
垢版 |
2019/01/15(火) 18:05:36.58ID:???
iconv_strlen()ってmb_strlen()と何が違うんや・・・
0485nobodyさん
垢版 |
2019/01/15(火) 18:09:20.42ID:???
array_intersectとか使う方法を思い浮かんだが
コードは短くてもどう考えてもおせえな
0486nobodyさん
垢版 |
2019/01/15(火) 18:15:56.38ID:???
>>483
自分の環境だとpreg_matchより倍ぐらい速かったよ

GoogleCloud GAE PHP5.5の環境で1000回実行したときの時間

preg_match 1.7ミリ秒
strpos 0.8ミリ秒

ちなみに配列ブン回すロジックは1.9ミリ秒だった
0487nobodyさん
垢版 |
2019/01/15(火) 19:04:03.55ID:???
468、476、481 はプログラマの適正なし!
ふつうのコードは470だろ

計算量?速度?そんなの元の質問にねーよw
0488nobodyさん
垢版 |
2019/01/15(火) 19:24:28.18ID:???
>>487
言われなくても考慮するのがプログラマってもんだろ
0489nobodyさん
垢版 |
2019/01/15(火) 19:27:44.79ID:???
ユーザビリティに影響するなら考慮するけど、
>>486にもあるように0.0008秒の差でしょ。それ考慮して何かあるのけ
0490nobodyさん
垢版 |
2019/01/15(火) 19:35:52.02ID:???
正規表現は荒れるからやめろよ
>>468はとても説明的で初心者向けだと思うがな
0491nobodyさん
垢版 |
2019/01/15(火) 19:38:56.04ID:???
>>489
この測定はあくまでも5文字から3文字分の先頭を求めるロジックの測定
質問者が例題でそうしただけでとんでもない容量のデータを対象にした場合は結果も変わってくるでしょう
preg_matchはレングスによっては動作しなくなるみたいだし
0492nobodyさん
垢版 |
2019/01/15(火) 19:42:28.45ID:???
>>487
速度の話になって対比で書いただけだから
ま、実際strpos使って正規表現は使わんけどね
0493nobodyさん
垢版 |
2019/01/15(火) 19:45:58.29ID:???
単純検索や置換で正規表現止めとけは分かるけどこの内容なら普通に正規表現でいいわ
0494nobodyさん
垢版 |
2019/01/15(火) 20:00:22.08ID:???
/[DEF]/
$m[0]
でいいだろ
グルーピングする理由がない
0495nobodyさん
垢版 |
2019/01/15(火) 20:47:02.48ID:???
>>491
>preg_matchはレングスによっては動作しなくなるみたいだし
これマジ? どのくらいから動作しなくなるの?
ちょっとソース教えてクレメンス
0496nobodyさん
垢版 |
2019/01/15(火) 20:48:01.39ID:???
>>491
100回でも0.1秒差だぞ
>>465の処理をそんなにループさせる場面を想定してるの?w
それともこんな変な処理ばっかり押し付けられてるの?
0497nobodyさん
垢版 |
2019/01/15(火) 20:57:48.60ID:???
>>496
一回では測定出来ないから1000回の時間で比較しただけだよ
0498nobodyさん
垢版 |
2019/01/15(火) 21:03:03.45ID:???
>>495
気になったので試してみた

4億8000万文字でも大丈夫だった
$text = str_repeat ( 'D' , 480000000 );
if(preg_match("/([DEF])/",$text,$m)) echo $m[1];

4億8000万文字はphpがエラーになった。
$text = str_repeat ( 'D' , 490000000 );

制限無いと思う

>>491
嘘つきは朝鮮人の始まりだぞ
0499nobodyさん
垢版 |
2019/01/15(火) 21:13:53.13ID:???
>>487
ペチパーってレベル低いな
そのまま解こうとしててバカみたいだわ
>>465の要件がおかしいんだからそれを直せよ
0501nobodyさん
垢版 |
2019/01/15(火) 21:53:16.83ID:???
単純な文字列検索は配列でもstrposのほうが安全
0502nobodyさん
垢版 |
2019/01/15(火) 22:02:33.99ID:???
if (preg_match('/[DEF]/', $text, $matches)) {
// $matches[0] <-
}

って書いといてパフォーマンスが気になるなら計測してから直す
最初からパフォーマンスが―ってのは無能
0503nobodyさん
垢版 |
2019/01/15(火) 22:10:31.76ID:???
>>470はきれいなサンプルコード書いてやれよに呼応して出したんだろ
JavaScriptの小技的なサイトにのってそうな初心者受けしそうなコードじゃないか
質問者も満足して帰ったんだしそれでええだろう
0504nobodyさん
垢版 |
2019/01/15(火) 22:14:02.02ID:???
初心者が満足するのが基準とか頭おかしい
0505nobodyさん
垢版 |
2019/01/15(火) 22:31:44.22ID:???
スレ的にはトリッキーでも面白いコードをみたいところだが
そんなコードが出てきても
速度 読みやすさ コードの長さ どれかに欠点もっててボロクソ叩かれる運命
0507nobodyさん
垢版 |
2019/01/16(水) 08:54:50.45ID:???
>>506
動かなかったのは仕様をちゃんと読まなかった私の責任です
と書いてあるね
0508nobodyさん
垢版 |
2019/01/16(水) 09:10:51.60ID:???
>>507
質問者はpreg_match使うって言ってたからこの辺のリスクも知ってもらわないといけない
0509nobodyさん
垢版 |
2019/01/16(水) 09:18:03.82ID:???
/[DEF]/とかバックトラックも再帰もスタックもO(1)だろ
0510nobodyさん
垢版 |
2019/01/16(水) 09:57:54.92ID:???
>>499の言う通り
どうせ実際の用途は違うんだろ
0511nobodyさん
垢版 |
2019/01/17(木) 04:20:44.82ID:???
正規表現のほうが改修ラクだしいいだろ
文字一文字じゃなく文字列になった場合でもちょっと変えるだけで済むし
0512nobodyさん
垢版 |
2019/01/17(木) 18:21:04.09ID:???
改修が楽なわけないじゃん
strposなら配列に文字列のリスト突っ込むだけに対して
正規表現は何するつもりだ?orでつなぐのか?アホくさw
0513nobodyさん
垢版 |
2019/01/17(木) 18:28:26.13ID:???
正規表現はどうしても荒れるね
>>512みたいな低レベルが自覚せずにしゃしゃりでてくる
0514nobodyさん
垢版 |
2019/01/17(木) 20:18:38.54ID:???
>>513
じゃ答えてみろよ
まさかただの文字列検索にpreg_matchで配列渡すとか愉快なこというんじゃないだろうな?
0515nobodyさん
垢版 |
2019/01/17(木) 20:54:23.21ID:???
>>514
その前に君の意見をどうぞ
随分と高尚なのでそれに見合った意見があるのだろう
別にコードで書かなくてもいいぞ
0516nobodyさん
垢版 |
2019/01/17(木) 21:06:21.16ID:???
正規表現に変数突っ込むのはあかんのか?

<?php
$text = "ADCEB";
$match = "DEF"
if(preg_match("/([".$match.""])/",$text,$m))
echo $m[1];
0517nobodyさん
垢版 |
2019/01/17(木) 21:27:57.19ID:???
>>515
>>512で答えてんだろうが
理解出来ない雑魚は引っ込んでろよ
0519nobodyさん
垢版 |
2019/01/17(木) 21:56:23.98ID:???
3日間も大盛り上がりしてるから仕切り直してみよう

"PHPに関する質問や雑談をするスレです。" *1
この文字列において、
("PHP","質問","雑談") *2
の単語のうち最初に出てくる単語を返しなさい

実際の運用において*1の文字列は大変長いものであり、
*2の単語や数は変わりうるものとし、
実行速度を考慮した上で最適なコードを述べよ

ファイッ
0520nobodyさん
垢版 |
2019/01/17(木) 21:58:31.10ID:???
>>519
大変長いってのはマジでやめてw
保守性だけに笑点しぼってほしい
0521nobodyさん
垢版 |
2019/01/17(木) 21:58:43.42ID:???
ああ、スマン
複数の文字列から検索ってのに脳内変換してた
$match = ["DEF", "CEB"];
foreach ($match as $var)
 if (strpos($text, $var) !== false) //match

アホくさと言ったコード↓
$match = implode("|", $match);
if (preg_match("/(".$match.")/", $text)) //match

>>516見て>>511の言いたいことは理解した
preg_match("/(".$match.")/", $text)って言いたかったのね
ただそれだとpreg_match使う意味が全くないし
strposに比べて改修楽って主張も全く意味わからんけど
0522nobodyさん
垢版 |
2019/01/17(木) 22:02:31.77ID:???
>>512
| を知らんのか?正規表現を知らない初心者かよ
0523512=521
垢版 |
2019/01/17(木) 22:04:12.70ID:???
>>522
こいつ殴っていい?
orと|が別物とか言っちゃうの?
0524nobodyさん
垢版 |
2019/01/17(木) 22:11:04.41ID:???
>>519
$pdo = new PDO("sqlite::memory:");
以下略
0525nobodyさん
垢版 |
2019/01/17(木) 22:59:48.71ID:???
<?php
$text = "PHPに関する質問や雑談をするスレです。" ;
$match = ["質問","雑談"];
$boolean = strpos($text,$match);
if($boolean){
var_dump($boolean );
}


これあかんのか
0526nobodyさん
垢版 |
2019/01/17(木) 23:24:57.11ID:???
strposにとって0はtrueだから
0527nobodyさん
垢版 |
2019/01/17(木) 23:29:45.83ID:???
strposに配列渡せるのは知らんかったわ
うえのほうでforeachで回してるもんだからてっきりそういうもんかと
オーバーロードはマニュアル分けてほしいわややこしい
0528nobodyさん
垢版 |
2019/01/17(木) 23:44:33.27ID:???
上のは要件が違うからね
0529nobodyさん
垢版 |
2019/01/17(木) 23:52:22.21ID:???
クライアントが使っているレンタルサーバーが全部5系で絶望中
7系に対応してないサーバーや、7.0系にしか対応してないサーバーが多い

5系でも5.6系じゃなくて5.1系とか5.3系とかとっくに死んでるのも多い
5.1系でWP4系を動かしてる無茶なサイトもあるし

そもそも互換性がないから安易に7系に移行できない
セキュリティーサポート終了は知らなかったことにしたい
あるいはガッツリ金と時間を取って対応したい
0530nobodyさん
垢版 |
2019/01/18(金) 00:29:58.57ID:???
クライアントからクレーム来た
アルファメールのphpバージョンが5.4→7.0
どっちにしてもセキュリティ的に問題があるだろってさ
知らんがな、それ選んだのは君だろう
0531nobodyさん
垢版 |
2019/01/18(金) 00:32:17.89ID:???
>>529
うおっとすごい奇遇だね
なんか流行りでもあるのかね。スパムメールで営業でもしているのだろうか
とりあえず金とって対応スべきだとは思う
これはハイハイといっていい案件ではないわ
0532nobodyさん
垢版 |
2019/01/18(金) 00:45:00.02ID:???
array()とかcreate_functionとか書かなきゃいけないサーバは勘弁してほしいわ
0533nobodyさん
垢版 |
2019/01/18(金) 07:37:29.32ID:???
>>531
金と時間の話も絶望的だが仮に金と時間が取れたとしても
全てのクライアントのサーバー引っ越し作業が必要になる絶望感
0534nobodyさん
垢版 |
2019/01/18(金) 08:55:47.80ID:???
>>529
うるせーぞ
保守案件とはいえ いまだに4.4使ってんだこっちは
0535nobodyさん
垢版 |
2019/01/18(金) 09:28:43.13ID:???
4.4とかセキュリティ的に怖いすぎる
調べるのも面倒なレベルだ
0536nobodyさん
垢版 |
2019/01/18(金) 12:09:56.90ID:???
保守案件だからこそバージョンが問題になるんじゃないのか・・・
ネットに繋がってないシステムなら話は別だけど

結局、まだどこも5系使っているし、
赤信号皆で渡れば怖くない的な状態?
いやこの場合、皆だと更に怖いんだけど
0537nobodyさん
垢版 |
2019/01/18(金) 13:08:17.55ID:???
零細相手だと金がないからその場しのぎでアップデート渋ってるんだろ
結局そっちのほうがコストかさむのにな
0538nobodyさん
垢版 |
2019/01/18(金) 14:20:28.35ID:???
5系以下は対応できませんの一点張りでいいだろ
0539nobodyさん
垢版 |
2019/01/18(金) 15:27:55.50ID:???
お問い合わせフォームで入力してもらう件名や本文の文字数の上限って皆さんどんな感じで決めてるんですか?
0540nobodyさん
垢版 |
2019/01/18(金) 17:10:00.60ID:???
>>538
それができるなんてうらやましい
妄想じゃないよな?
0541nobodyさん
垢版 |
2019/01/18(金) 17:17:35.28ID:???
対応出来るかどうかは別にしてもセキュリティについて責任持てませんは言わなきゃダメよ実際責任持てんし
0542nobodyさん
垢版 |
2019/01/18(金) 17:35:34.87ID:???
まぁこれはweb業者側から言って置かないとダメだな
書面にして残しておくぐらいでも良い
ってか、アップデートぐらいしようよ、普通に
0543nobodyさん
垢版 |
2019/01/18(金) 17:51:00.00ID:???
だってレンタルしているサーバーが対応してないんだもん
同じ会社の新しいサーバーは対応しているけど、
クライアントはいっぱいいて1つ1つ移行を代行するのも大変なんだもん
わからない?

わかったらどーしたらええか教えてくれや
0544nobodyさん
垢版 |
2019/01/18(金) 17:55:00.88ID:???
書き込んでる暇があるなら移行すればいい
0545nobodyさん
垢版 |
2019/01/18(金) 18:31:14.05ID:???
暇があれば移行できるとはなんとも小規模事業者のような考え方
あるいはその逆で大規模技術者集団か

うちみたいに人員と技術力に見合わない規模の事業やっている、
中途半端なところが大変なんです
0546nobodyさん
垢版 |
2019/01/18(金) 19:08:25.26ID:???
>>538
じゃあ 6 でお願いしますね(ニッコリ
0547nobodyさん
垢版 |
2019/01/18(金) 19:30:23.16ID:???
存在しないものはNG
0548nobodyさん
垢版 |
2019/01/18(金) 19:39:51.26ID:???
みんなの心の中に、PHP6は存在するのです・・・
0549nobodyさん
垢版 |
2019/01/18(金) 20:17:19.30ID:???
開発が頓挫してリリースされなかっただけで存在しないわけではないのでは?
0550nobodyさん
垢版 |
2019/01/18(金) 20:23:03.13ID:???
>>543
金を請求して、サーバー移行作業を行うのが正しい姿
最低限蔵には現状ヤバイ状態と言うだけ言っておかないと、
今後何か合った時に大惨事になるよ
0551nobodyさん
垢版 |
2019/01/18(金) 20:23:49.06ID:???
存在するけど手に入らないってロマンチックだね
0555nobodyさん
垢版 |
2019/01/18(金) 21:34:07.95ID:???
>>550
そりゃそうなんだけど、
クライアントに説明して金を貰うところまでは
(一社一社やっていくわけだから面倒だけど)とりあえずはいいとして、
その後の実際の仕事の量に絶望するよね
うちサーバー移行のノウハウないし
0556nobodyさん
垢版 |
2019/01/18(金) 21:34:57.60ID:???
馴れ合いは初心者スレでやって
0557nobodyさん
垢版 |
2019/01/18(金) 21:36:49.26ID:???
プロならPHP7を使ってるのが当たり前
0558nobodyさん
垢版 |
2019/01/18(金) 22:41:08.32ID:???
世の中素人なのが当たり前
だからこれだけPHP5が使われている
0559nobodyさん
垢版 |
2019/01/18(金) 22:45:02.95ID:???
素人なのは恥ずべきことであって
決して開きなおるようなことではない
0560nobodyさん
垢版 |
2019/01/18(金) 23:13:45.30ID:???
一部の7使いが高みの見物をする中、
多くの5使いがいつか大殺戮に遭うんだろうな
素人なのは嘆かわしいことでもある
0561nobodyさん
垢版 |
2019/01/18(金) 23:21:19.98ID:???
個人情報取り扱ってなかったらHPがエロサイトになるぐらいで済む
平気平気
0562nobodyさん
垢版 |
2019/01/19(土) 08:49:46.42ID:???
今までextだったのがバンドルされてたり廃止されたりして設定がなくなってたりするけど
そのへんdllや設定読み込み無視したりでPHP5の設定をPHP7でそのまま使える?
まあめんどくさいしソースからビルドはしないで
パッケージから入れて使うext有効にするだけなんだけど…
最近じゃ専用PHPが必要なlsws使ってるからリリースすぐに最新のPHPアプデ出来るしな
0563nobodyさん
垢版 |
2019/01/19(土) 12:23:52.39ID:???
lswsってどう?Apacheと同じ感覚でつかえる?
0564nobodyさん
垢版 |
2019/01/19(土) 13:33:28.05ID:???
LSWSはPHPerなら非WPユーザーにもおすすめ
Apacheのルールが使えるからリライト設定も楽だし
PHP製の設定ツールが標準でついてて
設定ファイル編集からサーバ再起動までWebで出来るのも良い
http2も証明書設定すませるだけで使えるようになってたしとにかく楽
肥大化しすぎたApacheをシンプルにまとめたような代物
信頼性堅牢さの評価はわからんが特に問題にもなってないし大丈夫だと思う
0566nobodyさん
垢版 |
2019/01/21(月) 12:47:36.29ID:???
>>540
え、むしろ君のところでは出来ないの?
保守案件なんかは仕方ないかもしれんけど、新規は5系切り捨ててるよ。

だって実際5系切り捨ててるフレームワークやライブラリ増えてきてるし。
Laravelなんかはバージョン5.5から5系のphp切り捨ててるよ。
0567nobodyさん
垢版 |
2019/01/21(月) 13:00:04.43ID:???
phpバージョンってずーっとほっといたら強制的にバージョン上がったりする?
0568nobodyさん
垢版 |
2019/01/21(月) 13:46:56.07ID:???
>>567
俺たちじゃ分からないからサーバー管理者に聞こう
0569nobodyさん
垢版 |
2019/01/21(月) 15:27:31.76ID:???
今からFWやCMSみたいな第三者に使ってもらう前提のものを作るとして
5系は全く配慮しなくてもいいだろう(少なくとも国内は)
数百円でも有料サーバなら今どき7も使えるように配慮してるわ
たとえ4時代から使ってるような古いサーバであっても
15年ぐらい前に使い始めて未だアカウント有効なxreaがまさにそう(放置して無料プランだけど)
昔はサーバごとに入ってるPHPのバージョンはバラバラで
なかなか上がらないバージョンに不満があってだいぶ昔に見限ったけど
いつのタイミングかどのサーバでもPHPのバージョン選択出来るよう仕様変更したらしい
0570nobodyさん
垢版 |
2019/01/21(月) 15:33:45.12ID:???
今はサーバー会社がphp複数入れておいて、ユーザーが選択って方式ばっかりだね
全く利用者がいなくなってから古いバージョン削除とかそんな感じだと思う
0571nobodyさん
垢版 |
2019/01/21(月) 17:13:58.26ID:???
うーん。うちの場合は保守運用している案件で、
サーバー引っ越さないと駄目なところが多いんだよなあ。

レンタル会社の選択ミスったか。
いや、選んだの俺じゃないけど、
クライアントに提案したのうちの奴だしな。
0572nobodyさん
垢版 |
2019/01/21(月) 17:20:06.73ID:???
>>571
ちなみに失敗したサーバーってどこ?

俺はアルファメール
未だにphp7.0が最新、サポートきれとる
0573nobodyさん
垢版 |
2019/01/21(月) 17:42:47.95ID:???
>>572
ちょっとコンプライアンス的に厳しいかな。ごめん。
0574nobodyさん
垢版 |
2019/01/21(月) 18:05:24.48ID:???
>>573
気にするな

全く別の質問スレで、
「xxのサーバーのセキュリティ的にどう?」と、あくまで感想を聞くのは問題ないと思うぞ
0575nobodyさん
垢版 |
2019/01/22(火) 12:48:04.79ID:1IqQBOsn
選択できるバージョンのphpってcgiモードでしょ?
7.2提供開始ってことで選択して使ってみたけど、cgiエラーで時々500 Internal Server Error出すからモジュール版の5.6に戻した
cgi版は不安定という印象で、安定求めるなら使えなくない?
0576nobodyさん
垢版 |
2019/01/22(火) 18:22:11.69ID:???
そもそもPHPで○○求めてるのが間違いと開き直って
適当に富豪的プログラムやってる結果だろう
0577576
垢版 |
2019/01/22(火) 18:22:38.89ID:???
サーバリソースないくせに ね
あるならいいんだよ好き勝手やって
0578nobodyさん
垢版 |
2019/01/22(火) 19:14:11.63ID:???
>>575
普通に使えるし500エラーは見当たらない
コードがどこか変なんじゃないか
0579nobodyさん
垢版 |
2019/01/22(火) 19:59:02.37ID:???
コマンドラインからの対話型アプリケーションを作ろうと思ってるんですが
操作途中でctrl+cみたいな強制終了された場合destructorは呼ばれますか?
OSやシェルによっては呼ばれなかったりしますか?

あと
class C {
function __destruct() {
echo "DESTRUCT";
}
function _echo($str) {
echo $str;
}
}
$t = new C;
$t->_echo("test");
$t->__destruct();
$t->_echo("test2");
このコードはちゃんと動くんですが
このようにdestructorは任意のタイミングで呼んでもいいのでしょうか?
終了メソッドが減らせるのでおかしくなかったらこれにしようかと思います
0580nobodyさん
垢版 |
2019/01/22(火) 21:41:49.73ID:???
$t->__destruct();

動くか否か以前に、こんなの書いたら末代まで笑いものにされるぞ。
0581579
垢版 |
2019/01/22(火) 22:33:16.68ID:???
上の例ではテストでechoしてますが
明示的に呼びたかっただけでdestruct呼び出したあとは
オブジェクトには用事はないので単にnullを入れることにしました
それでも呼べるようなので
0582nobodyさん
垢版 |
2019/01/26(土) 16:47:05.12ID:BHGZ+Tjq
制御文字が含まれているかを調べるためにpreg_match関数を使っているのですが、他に代替できる関数はありますか?(´・ω・`)
0583nobodyさん
垢版 |
2019/01/26(土) 17:07:19.65ID:???
>>582
あるけどpreg_matchがだんぜん速い

スクリプトでループを書くより、ライブラリ内でループさせた方が良い
0584nobodyさん
垢版 |
2019/01/26(土) 18:23:59.85ID:BHGZ+Tjq
>>583
アドバイスありがとうございます。
がんばります(´・ω・`)
0585nobodyさん
垢版 |
2019/01/26(土) 19:40:12.75ID:???
str_replace(["\r\n","\n","\t"], "", $string)
一括で抹殺
0586nobodyさん
垢版 |
2019/01/26(土) 19:46:54.29ID:???
制御文字と書いてあるだろ
0587nobodyさん
垢版 |
2019/01/27(日) 01:36:18.30ID:???
バイナリかどうかのチェックならstrposでいい
if (strpos($line, '\0') !== false)
0588nobodyさん
垢版 |
2019/01/28(月) 01:09:39.57ID:???
インターネットに接続しない閉鎖ネットワークで使える
TinyPNGのような高圧縮の画像ライブラリって無いでしょうか?
TinyPNGは外部サーバーに接続するので…
0589nobodyさん
垢版 |
2019/01/28(月) 08:39:53.34ID:???
PNG-8にしてるだけなんじゃないかな
Imagickが使えるならImagickでできるはず
それかこれ試してみるといいかも
https://pngquant.org/
0590nobodyさん
垢版 |
2019/01/28(月) 13:57:31.34ID:???
左の入力例に対して、変数の中身を右のように変化させたいです
+1 | 1
+2 | 1 2
-1 | 2
+3 | 2 3

現在は以下のプログラムを使用して、配列変数poolの添え字に保存しています
しかしこの方法は処理に無駄があると思うので、もっと良い方法を教えてください
if ($operator == '+') $pool[$operand] = 1;
else unset($pool[$operand]);
0591nobodyさん
垢版 |
2019/01/28(月) 14:08:06.91ID:???
>>590
例のパターンが少ない

+1 | 1
-2 |

や同じ項目が複数あった場合どうしたいのか分からない
0592nobodyさん
垢版 |
2019/01/28(月) 14:12:50.97ID:???
・オペレーターが + のときは、そのオペランドは必ず存在しない
・オペレーターが - のときは、そのオペランドは必ず存在する
という前提でお願いします
0593nobodyさん
垢版 |
2019/01/28(月) 14:55:39.52ID:???
>>590>>592
unsetって変数の破棄じゃないの?
array_shiftでは?

それ以上の最適化はあるかもしれないけど、思いつかない
ってかよほど重い処理でも無い限り、やらんでも良いと思う

そもそも処理というより仕様に無駄がある
>・オペレーターが - のときは、そのオペランドは必ず存在する
なら、マイナスの時は数字は不要だろう
+1 | 1
+2 | 1 2
- | 2
0594nobodyさん
垢版 |
2019/01/28(月) 22:08:22.53ID:???
>>590
その方法で時間効率はかなりいいと思うけど
メモリ効率が気になるならハッシュテーブルか赤黒木でも作れば?
ただPHPの連想配列の実装によってはその方法でもハッシュテーブルでも変わらない気もする
0595nobodyさん
垢版 |
2019/01/29(火) 13:27:47.33ID:???
そろそろWebSocketに手出してみようとおもうんだけど
どれ使えばいいかな?Ratchetの記事が多いようだけど
おとなしくサーバはnode.jsにしたほうがいい?
https://postd.cc/websocket-shootout/
当然のようにPHPは入ってなかったけど
ここに入れるとしたらRuby並みのパフォーマンスになるのかね
0596nobodyさん
垢版 |
2019/01/29(火) 17:20:23.85ID:???
PHPでhttp以外をやるのは面倒臭そう
ajaxですらダルいのに
バックグラウンド実行になるからなあ
いや、やったことないから知らないけど
0597nobodyさん
垢版 |
2019/01/29(火) 23:36:21.38ID:???
正直なところperlだけどMojoliciousがWebSocketの扱い楽だった
0598nobodyさん
垢版 |
2019/02/09(土) 17:12:58.67ID:???
アドバイスをください。
件名、本文、メールアドレスだけのメールフォームで入力値を検証する時、これは検証した方がいいというのがあれば教えてください。

・文字エンコーディング
・制御文字
・文字数
・未入力
・メールアドレスの形式

よろしくお願いします。
0599nobodyさん
垢版 |
2019/02/09(土) 17:29:44.58ID:???
要件次第じゃない?
0600nobodyさん
垢版 |
2019/02/09(土) 17:40:32.54ID:???
PHP関係あるのか?
0601nobodyさん
垢版 |
2019/02/09(土) 18:17:42.00ID:???
要件次第だが文字エンコーディングや制御文字はいらんだろ
0602598
垢版 |
2019/02/09(土) 19:45:35.09ID:???
>>598です
アドバイスありがとうございます。
今回は自分の勉強のために調べていました。
文字エンコーディングや制御文字については参考書で検証した方がいいとあったので検討していました。
覚えることが多いですが頑張ります。
ありがとうございました。
0603nobodyさん
垢版 |
2019/02/09(土) 19:45:59.85ID:???
フォームを使う送信者が誰なのかチェックするとか、悪用されないように対策するとか
フォームからサーバーに送る際にtslとかで暗号化するとか
0604nobodyさん
垢版 |
2019/02/09(土) 19:49:33.12ID:???
答えを教えてもらうカンニングが勉強なの?
0605nobodyさん
垢版 |
2019/02/10(日) 01:50:46.13ID:???
コードは頭使って考えた方が良いと思うけど、
セキュリティなんかは考えても分からん事が多すぎるからさっさと聞いたほうが良い
というかFWに投げたほうが良い。生兵法は怪我の元だ
0606nobodyさん
垢版 |
2019/02/10(日) 07:58:23.29ID:???
>参考書で検証した方がいい
ログイン処理とかならまだわかるが本当にそう書いてたのか?
よくわからんけどとりあえずやっとけみたいな参考書は参考にはならんのですてとけ
0607nobodyさん
垢版 |
2019/02/10(日) 11:23:26.02ID:???
>>605
徳丸本を買ってきて頭から順にチェックしていけばよいよ
0608nobodyさん
垢版 |
2019/02/13(水) 15:12:58.07ID:???
この程度ならどれを検証すべきか調べてる間に
検証した方が早いと思うのは俺だけだろうか
0609nobodyさん
垢版 |
2019/02/13(水) 17:12:28.18ID:???
文字コードって何か検証することあるのか?
変換するだけじゃない?
今はBase64にすればutf-8だって行けるでしょ
0610nobodyさん
垢版 |
2019/02/15(金) 11:12:20.85ID:???
609みたいなのがいるからPHPerはばかにされるんだろうな…
文字コードチェックの必要性なんか大昔からずっと言われてるだろ
http://gihyo.jp/dev/serial/01/php-security/0019

605の言う通り、こういうやつはFWに丸投げした方がはるかにマシ
自覚のないやつが一番たち悪い
0612nobodyさん
垢版 |
2019/02/15(金) 11:35:12.60ID:???
PHPの文字コード変換が微妙にバグっぽい挙動なの何とかして欲しい
0613nobodyさん
垢版 |
2019/02/15(金) 17:41:23.19ID:???
PHPのセミコロンはいいけど$は糞
0614nobodyさん
垢版 |
2019/02/15(金) 17:57:27.91ID:???
付けざるを得ない設計思想ではあった
ただ、あれは大失敗だな
0616nobodyさん
垢版 |
2019/02/15(金) 18:06:53.55ID:???
>>615
アロー演算子はphpだけじゃないだろう
最初に自走したのはjavaか?
0617nobodyさん
垢版 |
2019/02/15(金) 20:06:35.64ID:???
最初はc#の気がする
0618nobodyさん
垢版 |
2019/02/15(金) 20:42:48.01ID:???
->はCの構造体のポインタからメンバーにアクセスするときの演算子だろ?
Cではポインタじゃなかったら.でいいんだが、
Perlでは.は文字列結合演算子だからな

いや、お前らが話しているのはラムダ式のことなのか?
0619nobodyさん
垢版 |
2019/02/16(土) 02:24:38.46ID:???
ラムダの意味ならラムダはクソじゃないだろ
0621nobodyさん
垢版 |
2019/02/16(土) 13:49:35.44ID:???
PHPはタイプ量多いが明示的でわかりやすい気がするな
今の言語はfunctionがfnだもんな
0622nobodyさん
垢版 |
2019/02/16(土) 14:02:39.39ID:???
今更変えられないのかな
function使用頻度非常に高いから何とかして欲しい
0623nobodyさん
垢版 |
2019/02/16(土) 14:05:14.40ID:???
通常は補完でするっと入力するから
多少の長さは気にならないかな
0624nobodyさん
垢版 |
2019/02/16(土) 23:01:11.20ID:???
ていうかなんでfunctionなんて必要なんだっけ?
0625nobodyさん
垢版 |
2019/02/16(土) 23:28:23.95ID:???
定義かどうか分からないからだっけな
functionがないと何かと混同するからだったはず
0626nobodyさん
垢版 |
2019/02/17(日) 16:34:12.26ID:???
mysqlにコネクションプールが無いのは何故なんだぜ?
PHPは全リソースをリクエスト終了時に解放するからって言うけど
遅いでしょ?

パーシステント・コネクションは
コネクションプールとは無関係な別機能だった
0628nobodyさん
垢版 |
2019/02/17(日) 17:27:52.09ID:???
単にphpのプロセスが死ぬまで接続を維持し続ける機能らしい
異なるphpプロセスでコネクションを共有する機能ではない

PDOには最大数の設定はない
また、phpがエラーになるとテーブルがロックされたままになったりする

mysqliはPersistentでもクリーンアップを行おうとする
ただし性能と引き換え
0629nobodyさん
垢版 |
2019/02/18(月) 00:32:34.27ID:???
ソースファイルのBOMのせいでクッキーが使えないバグが出て原因究明に苦労したぞ
BOMを付けるエディタが悪いんだがPHPの側もどうにかしろ

というのは頭悪い主張ですかね・・・
0630nobodyさん
垢版 |
2019/02/18(月) 00:36:42.54ID:???
>>629
BOMのせいでクッキーが使えないなんてことあるの!?
0631nobodyさん
垢版 |
2019/02/18(月) 00:43:33.83ID:???
>>629
それ具体的にいつの話?
7.2環境で今確認したら、UTF8のBOM付きとBOM無しが混在しててるんだが普通に動いてる
モジュール部分の大半はBOM無しだっだが、デザインとか外観の部分はBOM付きで動いてた
0632nobodyさん
垢版 |
2019/02/18(月) 00:54:16.38ID:???
>>630
BOMがphpタグの外のテキストと見なされるから、
あらゆるテキスト出力より前に呼び出す必要があるsetcookieが動作しないのよ。

>>631
未だ現役だが古い5系のサーバーの話。
7系はBOMがあっても平気なのか?

ちなみに5系でもWindows版は平気らしく、
XAMPP環境で開発していたソースファイルが
なぜかサーバーに上げると動かなくなるから、
しばらくさっぱり意味がわからなかった。
0633630
垢版 |
2019/02/18(月) 07:47:41.52ID:???
>>632
なるほど理解した
ありがとう
0634nobodyさん
垢版 |
2019/02/20(水) 21:25:44.32ID:???
lambdaとかcloud functionにphpがない理由って需要ですか?
それとも用途が少ない?
0635nobodyさん
垢版 |
2019/02/20(水) 21:59:20.99ID:???
PHPはいずれ導入されるが導入時期は他のよりあとにされるってのは
この手のクラウドではよくある話
需要がないといったらそのとおりなのだろう
PHPの用途は小規模向けであるのでスケールアップの必要がない
VPSなんかでもっぱら使われるのでは
0636nobodyさん
垢版 |
2019/02/20(水) 22:58:27.15ID:???
PHPって組み込み関数とか標準ライブラリ多過ぎない?
仕様も完全に固まったとは言えず、破壊的変更がちょこちょこあった
ライブラリ毎にバージョン上げる事も出来ないので毎回リスキーなビッグバン的アップデートになる

Goとは全く逆だよね

Goへの誤解について
http://golang.rdy.jp/2017/12/20/go-fact/

Goは機能追加の優先順位が

「ライブラリ>>外部ツール>>言語仕様」

というのを徹底しています。 課題を解決する方法にいくつかの方法があれば より優先度の高い方を選びます。

おかげで、Goを気に入ってから5年目だけど その間、変化した言語仕様はごく小さな変更数点しかありません。
0637nobodyさん
垢版 |
2019/02/20(水) 23:49:28.59ID:???
どこらへんがphpは小規模向けで、pythonやgo、node.jsと違うんですか?
0638nobodyさん
垢版 |
2019/02/21(木) 00:26:28.77ID:???
>>636
かなり多い
要はwebでぱーっとなんでも出来る言語て立ち位置
実際本当に便利
pythonも2→3で凶悪な変更があったから、あまり他言語を強く言えない
Goはバージョンアップについてはよく知らない

phpはバージョン5の利用者が多いが、サポートが切れた
Xデーがそのうち訪れるかな

>>637
0639nobodyさん
垢版 |
2019/02/21(木) 00:28:55.77ID:???
>>637
ぱーっと作れるのでとにかく利用者が多い。業者も多い
とにかくwebに特化していて、FWも非常に多い
0640nobodyさん
垢版 |
2019/02/21(木) 01:37:58.59ID:???
マルチスレッドにもろくに対応してないのがPHPの現状
pthreadっていうモジュールがあるにはあるが不便
0641nobodyさん
垢版 |
2019/02/21(木) 14:34:27.85ID:???
これ見るとPHPでは不便以前に使えないのも同然では?
https://www.webprofessional.jp/parallel-programming-pthreads-php-fundamentals/

Shared-Nothingアーキテクチャを採用しているPHPでは
スレッドが使えたとしてもリクエストの度に生成する必要がある
スレッドは生成も切り替えも重いから却って速度が遅くなる
使えてもなんの意味も無い
0642nobodyさん
垢版 |
2019/02/21(木) 14:37:07.36ID:???
>>640
マルチスレッドが必要に思えないけど、
使い所あるんけ
0643nobodyさん
垢版 |
2019/02/21(木) 17:14:35.13ID:???
延々と応答しないリソースをどうやって待つかって問題にぶつかる人はいるかも
待っている間は他のリソースの応答を処理したいとか
0644nobodyさん
垢版 |
2019/02/21(木) 21:19:20.54ID:???
>>643
それ非同期I/Oで良くね?
スレッドを使う必要がない
同じくスレッドの無いJavaScriptもそうしてる

Node.jsはPHPのようなシェアード・ナッシングではないが
0645nobodyさん
垢版 |
2019/02/21(木) 23:07:59.09ID:???
>>644
非同期I/Oは応答があったときに、手が空いていたら処理するだけでしょ?
別の処理が走っていたらそれが終わるまでは待つことになる
0646nobodyさん
垢版 |
2019/02/22(金) 02:07:16.01ID:???
別プロセスでスクリプト起動してリソースの要求から応答待ちまでやればいいじゃん
0647nobodyさん
垢版 |
2019/02/22(金) 08:07:41.60ID:???
そもそもそんな応答がめちゃくちゃ遅いリソースを扱うことってあるか?
0648nobodyさん
垢版 |
2019/02/22(金) 09:19:20.91ID:???
DBの事なにもしらない時に作ったプログラムがそうだったな
インデックスなしでDB構築しって、検索するだけで30秒ぐらいかかってたw
ついでにセキュリティホールの塊

・・・はいいとして、少しでもまたせたくないってことじゃね
webは2,3秒待たせるだけでも人がどんどん減る
0649nobodyさん
垢版 |
2019/02/22(金) 09:48:05.20ID:???
スレッドやプロセスは重量級リソースだから
そんな大量にそもそも生成できないだろ?
1秒で1000スレッド生成+切り替えとか無謀

非同期I/O基本にして
足りなければサーバー増やした方が
利用効率が高い

その証拠にPHPのようなプロセスを大量に生成するスタイルを
他言語のフレームワークは使ってないw
0650nobodyさん
垢版 |
2019/02/22(金) 10:34:00.30ID:???
外部サイトのリソースとかならあるんじゃね?
ウェブスクレイピングしてるとかなら応答にも時間が掛かるだろう
それも複数ページ、もしくはページの画像などのリソースも取得するとなれば複数スレッド立ち上げたくなる気持ちもわかる。

DBの検索時に別スレッドで何かするってことはないだろ


まぁ複数人で使うプログラムに一人当たり何スレッドも使うとサーバーが死ぬけど
管理者一人だけが使うようなプログラムなら100スレッドだろうと使っても良いだろう
0651nobodyさん
垢版 |
2019/02/22(金) 12:31:59.41ID:???
人間という応答が遅いくせに即反応してやらないとすぐにイライラしちゃうリソースがあってだな

UIとバックグラウンドはスレッド分けたい時もある
javascriptもそれができるようになったし
0652nobodyさん
垢版 |
2019/02/22(金) 14:19:13.01ID:???
Webサーバーではpthreads使えないよな
CLI専用

手動でコマンド実行された時か
定期的にコマンドを実行するバッチ処理内でなら使える

時間の掛かる処理を予めやっておいて
DBに結果を入れる
WebではDBから取得して表示するだけ
0653nobodyさん
垢版 |
2019/02/26(火) 20:05:10.67ID:AQScychf
ちょっとマジで聞きたいことがあるんだが、cgiからブラウザに対してCP932でHTMLが出力されている。
もちろんヘッダも正しく指定されている。

んで、そのHTMLの中に、
<IMG SRC="あいうえお.jpg"> などと言う日本語のファイルが指定されているわけだ。
その日本語のファイル名も、CP932だ。

んで、ご丁寧にブラウザが自動でURLエンコードしてくれるようなのだが、
%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A.jpg
となるのだ。これは "あいうえお.jpg" をUTF-8として解釈した時の文字コードだ。
俺としては %82%A0%82%A2%82%A4%82%A6%82%A8,jpg (CP932の文字コード)となってもらわなくては困る。

聞きたいことは2つで、これを解決するにはどうしたら良いか?
もう一つは、ブラウザごとの仕様によりこの挙動は違うのか?
の二点だ
よろしく頼む
0654nobodyさん
垢版 |
2019/02/26(火) 22:25:41.52ID:???
>>653
あっちこっちに同じ質問するなカス野郎!
なにがよろしく頼むだ
テメーは一緒悩んでろ
0655nobodyさん
垢版 |
2019/02/26(火) 23:43:52.58ID:???
PHPのソースからコメント取り除きたいんだけど、何かお手軽な方法ないかな
php -wだと改行もなくなっちゃうので、エラーを追いづらくなるから改行は残したい
0656nobodyさん
垢版 |
2019/02/27(水) 02:57:05.35ID:???
正規表現で置換とか?
コメントを捨てる理由は良く分からんけど
0657nobodyさん
垢版 |
2019/02/27(水) 14:37:32.14ID:???
それをすてるなんて とんでもない!
0658nobodyさん
垢版 |
2019/02/27(水) 16:38:05.93ID:???
cgi側でSJISにデコードしろ
0659nobodyさん
垢版 |
2019/02/27(水) 18:13:05.56ID:???
皆さんはどうやってアクセスログなどを作成してるんですか?
0660nobodyさん
垢版 |
2019/02/27(水) 19:05:00.25ID:???
>>659
俺はアクセスログは作成しない
たぶんしないと思う
しないんじゃないかな

apacheやnginxにしかできないこともあるから
0661nobodyさん
垢版 |
2019/02/27(水) 19:31:27.30ID:???
アクセスログはサーバーが自動で作ってくれるからそれに任せてる
0662659
垢版 |
2019/02/27(水) 19:43:40.08ID:???
>>660
>>661
参考になります。
ありがとうございました。
0663nobodyさん
垢版 |
2019/02/28(木) 06:52:42.60ID:Ki3DA8Q6
掲示板やチャットに書いた人のIPとプロバイダは保存してある
0664nobodyさん
垢版 |
2019/02/28(木) 09:33:18.95ID:???
>>663
当たり前だろう
保存してない完全な匿名掲示板なんて無いよ
0666nobodyさん
垢版 |
2019/02/28(木) 10:11:13.89ID:???
>>665

2chは最初からip全部記録してるよ
大昔から普通に逮捕者でてるでしょ
0667nobodyさん
垢版 |
2019/02/28(木) 10:34:19.58ID:???
最初はしてなかったから運営者が責任とらされたんじゃなかったっけ
0668nobodyさん
垢版 |
2019/02/28(木) 10:56:47.81ID:???
ネオ麦茶思い出した
あれ以前の事件はもう覚えてないな
0669nobodyさん
垢版 |
2019/02/28(木) 11:26:21.87ID:S9RfIHJr
>>664
いっぱいあるが
0670nobodyさん
垢版 |
2019/02/28(木) 15:17:22.19ID:+klj5d/A
永久保存なんてしてんの?
投稿内容と一緒に保存してるだけで、いらなくなったら消してくでしょ
0671nobodyさん
垢版 |
2019/02/28(木) 15:41:04.23ID:???
永久保存なんて現実的には無理だから求められないはずだが
何年間保存しろみたいな義務ってあるんだっけ?
うちのアクセスログ半年ぐらいで古いのから消えてるぞ見てないから知らんけど多分
0672nobodyさん
垢版 |
2019/02/28(木) 19:37:26.95ID:rD/hQUF8
GDPR的には永久保存はNG
アクセスログのIPも個人情報だかららしい
0673nobodyさん
垢版 |
2019/02/28(木) 21:34:55.13ID:???
GDPR「消せ」
日本の警察「出せ」
ってなったらどうすればいいの?
0675nobodyさん
垢版 |
2019/02/28(木) 22:13:31.72ID:iS3nNGqx
GDPRはよく分からない
なんか具体的なことは書いてないらしいし
ログを永久保存しててもセキュリティのためだって言えば大丈夫?
0676nobodyさん
垢版 |
2019/03/01(金) 04:26:48.37ID:???
GDPRなんて無視一択だろ どこの誰だよって感じ
ここは秘境の地ジャップランドやぞ 治外法権やぞ
0677nobodyさん
垢版 |
2019/03/01(金) 13:02:50.04ID:???
error_log() とか fopen() とかあった気がする
0678nobodyさん
垢版 |
2019/03/02(土) 10:32:45.61ID:1ak74M9Q
https://github.com/symfony/symfony/issues/8703#issuecomment-323608103
https://stackoverflow.com/questions/12378644/how-can-i-retrieve-the-current-error-handler

PHPのset_error_handlerってワケワカメな仕様だよね

・set_error_handlerはハンドラを一つしか設定出来ない。複数使うためには自分で元のエラーハンドラを呼ぶなど工夫が必要。上手くやらないと元のエラーハンドラは動かなくなる。
・現在のエラーハンドラを変更せずに取得する方法は無い。set_error_handlerが元のエラーハンドラを返すので、何か適当なエラーハンドラを設定後にrestore_error_handlerを呼ぶ必要がある。

エラーハンドラのネストはややこしくて
SentryがSymfonyのエラーハンドラを上書きしてしまい、動かない原因になった
0679nobodyさん
垢版 |
2019/03/02(土) 11:04:32.35ID:???
エラークラスに手をつけるとあっという間にぐちゃぐちゃになる
特に7.0で仕様が大幅に変わってからは何もしてない。全部FWに丸投げ
0680nobodyさん
垢版 |
2019/03/02(土) 14:03:44.27ID:1ak74M9Q
何でこんな分かりにくい仕様のままなの?
0681nobodyさん
垢版 |
2019/03/03(日) 00:26:08.40ID:???
error_get_lastとerror_clear_last何回も呼ぶほうが賢そう
0683nobodyさん
垢版 |
2019/03/03(日) 10:12:55.82ID:???
Apache以外は設定がめんどくさすぎる
0684nobodyさん
垢版 |
2019/03/03(日) 13:08:51.55ID:???
>>682
otherが伸びてるグラフあるがなんなんだ?
0685nobodyさん
垢版 |
2019/03/03(日) 19:05:07.76ID:???
nginxのシェアをまるごととってるとなると
nginxのフォークかなんかと考えるのが妥当
というわけで調べたらNGINX Unitなるものがあるらしい
0686nobodyさん
垢版 |
2019/03/03(日) 23:56:13.54ID:???
nginxって静的コンテンツならいいだろうけど、
phpを使うならNginxの下にApache入れて処理してやる必要があるだろ
nginxはwebサーバーの元締めみたいなヤツだからシェアがあがるだけじゃね?
0687nobodyさん
垢版 |
2019/03/04(月) 00:10:38.85ID:???
nginxはリクエスト捌けなくなると溜めこむよね
0688nobodyさん
垢版 |
2019/03/04(月) 05:29:17.91ID:nBk6Q3LZ
すまんけどPHPについておしえてくれない?
PHPってどこで動くの?


ちなみにCGIは知っていて、
クライアントからサーバーにリクエスト(アクセス)があった場合、HTTPDが特定のプログラムを起動して、そのプログラムから出力を受け取る。
HTTPDは受け取った出力を必要なら整形してクライアント(ブラウザに返す)。

PHPの場合、どこで動いていて、どういうふうに呼び出されて、どういう風に出力を返すの?
0689nobodyさん
垢版 |
2019/03/04(月) 06:55:41.18ID:???
PHPマニュアルにSAPIについてちゃんと書いてある項が見当たらないんだけど, そもそもそういう項はないのか単にマニュアルの調べ方が悪いだけなのか
とりあえず ttps://www.slideshare.net/do_aki/php-sapi-zendengine3 この辺読んでみるのがええんちゃう
0690nobodyさん
垢版 |
2019/03/04(月) 11:47:41.23ID:???
lzma形式の圧縮ファイルを展開できるスクリプトって無いかな
0691nobodyさん
垢版 |
2019/03/04(月) 20:38:28.60ID:???
そんなのexecで叩けばいいだろう
0692nobodyさん
垢版 |
2019/03/06(水) 04:22:15.66ID:???
ajaxで複数のオブジェクトを同時に送ることって出来るの?
jsonデータとFormDataを同時に送りたいんだけど
0693nobodyさん
垢版 |
2019/03/06(水) 04:35:30.51ID:???
掲示板等の機能を持った半登録制のウェブサイト作ってるんだが
ROMは誰でも出来て
書き込んだり新規トピックを立てようとするには垢登録が必要な仕様にしてるんよね

書き込んだ人のIPアドレスやプロバイダはどの様に記録したらいいかね?
ipぐらいなら平文でもええのかな?
キーワード使ってワードを暗号化出来る関数とかなんかある?
0694nobodyさん
垢版 |
2019/03/06(水) 09:23:49.30ID:AlWqAaJx
>>692
application/jsonとmultipart/form-dataを一つのリクエストで送りたいのか?

contentTypeはリクエストにつき一つしか指定できないのにどうしろと
別々のリクエストにして両方のPromiseを待つなら出来るが
0695nobodyさん
垢版 |
2019/03/06(水) 09:47:15.91ID:???
>>692
↓な感じでまとめて送り、受信先でパースすれば?
[
{contentType:"application/json", content:"送りたいjson"},
{contentType:"multipart/form-data", content:"送りたいFormData"}
]

>>693
書き込みに垢登録が必要なシステムならログイン時にアクセスログの記録をしといて
書き込んだ時点では、アカウントのIDを記録しておけばいいだろう
0696nobodyさん
垢版 |
2019/03/06(水) 19:53:40.38ID:Tkx18etX
登録と書き込みのプロバイダが違うかもしれない
0697nobodyさん
垢版 |
2019/03/07(木) 03:18:58.78ID:???
さして重要な個人情報でないIPやプロバイダをわざわざ暗号化する必要もないだろ
可逆じゃないと警察から照会があったときとかも意味もないし
そもそも暗号化のためにさくリソースが無駄
というか普通はhttpdのログにも記録される情報だろうそれ
0698nobodyさん
垢版 |
2019/03/07(木) 05:48:52.63ID:gKnNN8Ae
httpdはリクエストに対する記録しか残さないのでサイトの中で何をやっていたかは不明です
0699nobodyさん
垢版 |
2019/03/07(木) 06:31:28.79ID:???
IPや逆引きホスト名に関しては二重取りになり
しかもそっちのログは暗号化もなにもされてないってことを指摘してるだけで
さすがに投稿日時ぐらいは記録するのは想定してるよ
0700nobodyさん
垢版 |
2019/03/07(木) 07:10:40.37ID:???
phpやったことないんだけど、cgiとはどう違うの?
httpfとphpの関係ってどんな感じなの?
0702nobodyさん
垢版 |
2019/03/07(木) 07:59:49.23ID:???
アクセスしたURL見りゃ大体何やってたかわかるじゃん
0703nobodyさん
垢版 |
2019/03/07(木) 08:22:01.58ID:???
URLにhttpdの仕様なんて書いてなくね・・・?
0704nobodyさん
垢版 |
2019/03/07(木) 09:25:02.54ID:JXmWpfQd
>>700
CGIはオワコン
リクエストの度にコマンドを実行する方式なので、遅すぎる

ApacheはWebサーバー自体にPHPモジュールを含んでいる
CGIと比べたらスクリプトの実行は速いものの
Apache自体のWebサーバーとしての速度はnginxなどに劣る
また、Webサーバーの中で動くので分離度が低く、セキュリティ上不安がある

FastCGIは両者のいいとこ取りみたいな感じ
一度立ち上げたプロセスとソケットで通信するようにして、プロセスを再利用可能にしてCGIの分離性を保ちつつ
それなりの高速さを実現した
この方式だとApacheだけでなく、nginxも使える
0705nobodyさん
垢版 |
2019/03/07(木) 09:44:08.20ID:???
何で初心者お断りのスレで、phpやったことない初心者がいるんだよ
スレタイも読めねーのか?
0706nobodyさん
垢版 |
2019/03/07(木) 09:49:21.07ID:JXmWpfQd
WSGIはWebサーバーとアプリケーションサーバーを繋ぐという点はFastCGIに似ているが、FastCGIは言語を問わないのに対し
WSGIはPython専用

FastCGIより上位の層にあり、抽象度が高いらしい
FastCGIが通信の仕様だけなのに対して
WSGIはワーカープロセスの制御も仕様に含むとか
そのため、FastCGIを利用したWSGI実装もある
0707nobodyさん
垢版 |
2019/03/07(木) 09:57:29.24ID:???
>ApacheはWebサーバー自体にPHPモジュールを含んでいる
Apacheがサーバーなんじゃないの?
Apache自体にPHPモジュールを含んでいるってこと?
モジュールを含むってどういう意味?
んでそれがなんで速いことになるの?結局インタプリタと同類だからcgiと同じじゃないの?
もしかしてプロセスが常駐してるの?
0708nobodyさん
垢版 |
2019/03/07(木) 10:27:55.62ID:???
>>705
前から思ってるけどphpくだスレがないからここに来るしかない
初心者お断りって書いても意味ないぞ
0711nobodyさん
垢版 |
2019/03/07(木) 11:09:14.54ID:???
>>709
あぁ板が違うのか
気づくわけねーだろハゲ
0712nobodyさん
垢版 |
2019/03/07(木) 16:37:14.63ID:???
>>1をちゃんと読まないで逆ギレとか草
0713nobodyさん
垢版 |
2019/03/07(木) 16:41:08.25ID:???
>>1に書いてあるだろ
読めよハゲ
0714nobodyさん
垢版 |
2019/03/09(土) 10:39:30.25ID:CUrjZ5EQ
PHPは設定が多過ぎて本番環境で動かす時の設定をどうすれば良いか分からない

セキュリティはともかく性能的にはどうチューニングする?
その設定で本当に速くなってる事はどう確かめる?

Webサーバーはnginxにしている
0716nobodyさん
垢版 |
2019/03/09(土) 13:03:47.10ID:???
Tsungでも使って負荷テストすれば?
0717nobodyさん
垢版 |
2019/03/10(日) 15:36:13.93ID:DDCWVA+6
教えてください。

アップルのウェブサイト(https://www.apple.com/)のContent-Lengthをget_headers()で取得すると値が53394であるのに対して、
ブラウザでウェブサイトを表示してウェブマスターツールでContent-Lengthを確認すると8222になっているのは何故ですか?

変なことを聞いていたら申し訳ないです(´・ω・`)
0718717
垢版 |
2019/03/10(日) 16:38:52.76ID:DDCWVA+6
こちらの勘違いでした。
質問を〆ます。
ありがとうございました。
0719nobodyさん
垢版 |
2019/03/10(日) 18:34:29.97ID:???
どういたしまして
0720nobodyさん
垢版 |
2019/03/11(月) 07:35:19.96ID:???
httpで接続するとphpは実行されるんだが
httpsで接続するとphpがそのまま表示されるんよね(´・ω・`)

これは何が問題なの?
初めてSSL化したからよく分からんとよね
0721nobodyさん
垢版 |
2019/03/11(月) 07:42:23.53ID:???
サーバ再起動したら上手く行ったわ(´・ω・`)
すまんな自己解決した
0723nobodyさん
垢版 |
2019/03/12(火) 20:20:39.81ID:???
指定日から指定日までの「年月」一覧を
もっとも簡潔に角煮はどうしたらいいかな
0725nobodyさん
垢版 |
2019/03/13(水) 12:09:34.37ID:???
豚肉と水を入れます
0729nobodyさん
垢版 |
2019/03/24(日) 09:30:16.81ID:xH/tLpfF
WordPress、PHP 5.2から5.5までのサポートを終了
https://news.mynavi.jp/article/20190322-793657/

> これで、WordPressがサポートされる最も古いバージョンはPHP 5.6となり、WordPressを利用する場合にはPHP 5.6よりも新しいバージョンを使うことが必須となる。

5.6もクソ古いんだからね切れよwwwwwwww
0730nobodyさん
垢版 |
2019/03/25(月) 10:00:08.63ID:???
サポート終了ってだけで別に使えなくなるわけではないんじゃね
あえて使えないようにPHP5.6からの関数やら機能やら使ってるのかもしれないが
0731nobodyさん
垢版 |
2019/03/25(月) 11:06:40.05ID:???
5.6サポート切れた時、色々な中小企業のHPが見れなくなるのだろう
0732nobodyさん
垢版 |
2019/03/25(月) 11:47:39.51ID:???
5.6もう切れてるんだって
0733nobodyさん
垢版 |
2019/03/25(月) 11:55:21.65ID:???
>>732
それはphpのサポートだね
今回はwpのphp5.6に対するサポートの事だよ
0734nobodyさん
垢版 |
2019/03/25(月) 17:26:59.69ID:???
だからサポート切れた言語を生かすなっていいたいわけ
0735nobodyさん
垢版 |
2019/03/25(月) 20:00:54.60ID:???
そもそもサポート切るなよ
サイト運営者は一生アップデートしなきゃいけないのか?無理だろそんなの
0736nobodyさん
垢版 |
2019/03/25(月) 20:02:35.00ID:???
そうだよ
アップデートというか、数年に一回作り直しになる
0737nobodyさん
垢版 |
2019/03/25(月) 20:39:18.02ID:???
そうなんだよなあ
でも開発だけで保守を依頼せず放置のクライアントばかり
世の中にそういうサイトいっぱいあるんだろうな、そして攻撃されて流出やらやらかす
俺は知らんぞ
0738nobodyさん
垢版 |
2019/03/25(月) 22:44:23.24ID:kHjB5/K3
そんな所はそもそもセキュリティパッチの適用すらして無い
意識の低いところだろ?
0739nobodyさん
垢版 |
2019/03/25(月) 23:57:20.82ID:???
ブログサービスなりグーグルサイトでもつかっとけよな
0740nobodyさん
垢版 |
2019/03/26(火) 06:03:02.89ID:???
当面は大きなセキュリティリスクが見つかれば有志がパッチ作るだろう
0741nobodyさん
垢版 |
2019/03/26(火) 06:24:17.02ID:???
パッチ当てるのもアップデートするのも手間は変わらんだろ
有志とかいう非公式のパッチに変なコードが仕組まれていたらと思うと
とてもじゃないが公式が出すアップデートを適用した方がマシ
0742nobodyさん
垢版 |
2019/03/26(火) 09:00:17.30ID:???
>>735
無理というのは嘘吐きの言葉なんだよ
0743nobodyさん
垢版 |
2019/03/26(火) 11:34:43.81ID:???
>>741
日本人なら信用できるだろ?
未だにWindows2000とか日本人が非公式でパッチ出してるけど
余裕で信頼されてんぞw
0745nobodyさん
垢版 |
2019/03/27(水) 00:06:57.44ID:???
>>744
もうvbaは脆弱性にもならないんやなって
0746nobodyさん
垢版 |
2019/03/27(水) 02:46:32.78ID:???
PHP7大改造前まで健闘しとるやんけ
0747nobodyさん
垢版 |
2019/03/27(水) 03:04:16.69ID:???
PHP shares three of Ruby’s top 4 most common CWEs, with XSS at the top. However, PHP is the only language with SQL Injection (CWE-89) vulnerabilities featured so prominently at the top of the list.
0748nobodyさん
垢版 |
2019/03/27(水) 08:11:57.29ID:KZY9YsoX
SQLインジェクションは使う側の問題では?
それだけPHPユーザーはアホが多いってことか
0749nobodyさん
垢版 |
2019/03/27(水) 12:31:11.66ID:???
PHPのなんらかのバグに起因する想定外の動作でそうなるっていう話で
ユーザに問題があってっていう話じゃないだろ
0750nobodyさん
垢版 |
2019/03/27(水) 14:48:03.22ID:SUF4ooTv
そうじゃねえだろw
PHPの動作自体に問題があるんじゃなくて
パラメーター化したクエリーを使わないアホが多いだけだろ

言語設計自体が駄目だからそういう糞コードを書くやつがあとを絶たない

There are PHP haters out there that say that some the design flows and bad practices built into the language make it hard to write secure code and maintain a high level of secure coding standards.
0751nobodyさん
垢版 |
2019/03/27(水) 15:10:21.15ID:7SJSEbOY
XSSはユーザーの入力にスクリプトがあるかとかをチェックせずに
レスポンスとして返す事で起こる脆弱性

HTTP処理等が言語にくっついてない
RubyとかにもXSSがあるとされているのは
そういう事
0752nobodyさん
垢版 |
2019/03/27(水) 15:17:19.05ID:???
もうめんどくさいからフレームワークのORMしか使わないから、インジェクションなんか起きようがないなうちの場合
0753nobodyさん
垢版 |
2019/03/27(水) 19:24:33.46ID:YPfPSc9l
WordPressはORM使ってなくね?
パラメーター化クエリは流石に使ってると思うが
0754nobodyさん
垢版 |
2019/03/28(木) 04:38:38.13ID:???
動作を少しでも軽快にさせようというのはわからんでもないが
htmlspecialcharsには草
0757nobodyさん
垢版 |
2019/03/29(金) 08:18:56.34ID:4hnkllcL
PythonとかRubyあたりの雑魚と速度を比べて勝ってるからってなんだ
GoとかJVMに勝ってみろ

swoole?phpで非同期とかこわい
0758nobodyさん
垢版 |
2019/03/29(金) 08:20:54.17ID:???
タイトルだけでゴミ記事とわかるからクリックしない
0759nobodyさん
垢版 |
2019/03/29(金) 14:04:00.30ID:4sEhH8Xi
PHPとGoって何が違うの?LIGが自社サービス開発にGo言語を採用したお話
https://liginc.co.jp/284306

PHP遅すぎwwwwwww
0760nobodyさん
垢版 |
2019/03/30(土) 00:11:51.89ID:???
コンパイラと比べて遅い早いとか何初心者みたいなこといってはしゃいでんだ?
Goなんて特段早くもねえよ
0761nobodyさん
垢版 |
2019/03/30(土) 08:35:12.33ID:gRluVXya
TechempowerのベンチでもPHP遅い
他の動的言語も遅いが
0762nobodyさん
垢版 |
2019/03/30(土) 11:04:45.90ID:???
c#に比べたらgoなんてゴミだよ
VSとの組み合わせは最強すぎる
0763nobodyさん
垢版 |
2019/03/30(土) 14:00:11.12ID:???
速度で言ったらphp7-jitはphp7の25倍速い
0765nobodyさん
垢版 |
2019/03/31(日) 06:45:34.92ID:???
PHP-JITは普及しそうなの?
0766nobodyさん
垢版 |
2019/03/31(日) 09:27:49.51ID:???
jitになるとなんで速いの?
0767nobodyさん
垢版 |
2019/03/31(日) 10:39:15.53ID:GvGc759M
>>766
CPUをぶん回すタイプのWebアプリケーションは少ないため
JITになっても大半のアプリは高速化はしない

それよりシェアードナッシングを止めたほうが
効率良くなるが現在も大半のアプリがそれに頼って作られている
0768nobodyさん
垢版 |
2019/03/31(日) 13:27:18.64ID:???
徳丸浩さんの参考書で勉強している者ですが、次のようにセッション変数のトークンを確認しているのはなぜですか?
PHPは勉強中のため変なことをお伺いすると思いますが、どなたかお教えください。

if (empty($_SESSION['token'])) {
 $token = bin2hex(openssl_random_pseudo_bytes(24)) ;
 $_SESSION['token'] = $token ;
} else {
 $token = $_SESSION['token'] ;
}
0769nobodyさん
垢版 |
2019/03/31(日) 14:14:07.80ID:???
>>767
ほほー、じゃあ想定してんのはwebアプリ以外なんだろうかな
phpはwebのイメージだけど
0770nobodyさん
垢版 |
2019/03/31(日) 14:42:26.15ID:???
>>769
WEBアプリならなおのこと、エンジン部分は基本使いまわしなので
JITなら案外と高速化しまくると思うよ
0771nobodyさん
垢版 |
2019/03/31(日) 14:55:38.87ID:GvGc759M
>>770
wordpressの速度は大して変わらないと>>764にある
0772nobodyさん
垢版 |
2019/03/31(日) 15:17:10.69ID:???
>>768
トークンなかったらその関数で作って、トークンあればそいつを使うだけじゃん
0773768
垢版 |
2019/03/31(日) 16:45:31.75ID:???
>>768です

>>772さん
アドバイスありがとうございます。
おっしゃる通りなのですが、例えば先のコードから次の部分だけを抜き出した場合

$token = bin2hex(openssl_random_pseudo_bytes(24)) ;
$_SESSION['token'] = $token ;

この場合だと、リロードするたびにトークンが変更されます。
参考書には if() と empty() でトークンの有無を確認していますが、上の抜き出した部分だけでは不十分だったのかなと思いまして。
変なことを言っていたら申し訳ないです。
0774nobodyさん
垢版 |
2019/03/31(日) 19:23:43.36ID:???
トークンの有無を確認しないなら、何のためにトークンを発行してるんだ?
0775nobodyさん
垢版 |
2019/03/31(日) 19:33:28.52ID:???
コードよりトークンがどう利用されるのか仕組みの方を勉強することだわな
0776nobodyさん
垢版 |
2019/03/31(日) 19:49:52.91ID:???
>>773
参考書に有無の処理書いてんのになんでお前が勝手にソース抜き出して毎回上書きされて困るとか吐かしてんだよ
参考書のとおりにやりゃいいだろ
アホなの?
0778768
垢版 |
2019/04/01(月) 17:16:15.88ID:???
>>768です
お返事が遅くなり申し訳ありません。

>>774さん
ご指摘の通りです。
考えが及びませんでした。

>>775さん
アドバイスありがとうございます。
仕組みから理解できるよう努めます。

>>776さん
おっしゃる通りです。
これから参考書を熟読します。

>>777さん
ありがとうございます。

皆さん様々なアドバイスありがとうございました。
早く1人前になれるよう頑張ります。
ありがとうございました。
0779nobodyさん
垢版 |
2019/04/01(月) 17:22:26.31ID:???
最初はトンチンカンなこというもんだよガンバレー
0780nobodyさん
垢版 |
2019/04/06(土) 12:39:57.65ID:???
外部サービス連携みたいなやつあるじゃん
OpenIDっていうのかな?あれって審査とかいらない?
例えばYahooのログインIDで自分のサイトにログインさせたりとか出来る?
なんかPHPでその変簡単に構築できないっすかね?
0781nobodyさん
垢版 |
2019/04/06(土) 16:24:18.78ID:???
ワイの簡単はオミャーにゃ難しいぜよ
0782nobodyさん
垢版 |
2019/04/06(土) 18:08:30.65ID:???
>>780
oauth認証でぐぐれ
簡単にできるよ
0783nobodyさん
垢版 |
2019/04/06(土) 21:50:51.71ID:OvoweIM9
リフレッシュトークンはサーバに保存するか
Cookieに入れる場合は暗号化するようにしよう
0784nobodyさん
垢版 |
2019/04/06(土) 22:04:05.50ID:???
GIANT ESCAPE R3 2017年版で質問です
ホイールはwh6700に換装しています

リアをシングル固定ギアにしてみようと思ったのですが、
どういった規格で探せば良いでしょうか?

メルカリで300円でギアを買ってみましたが、合いませんでした(切り欠きがない)
https://i.imgur.com/Hpelflv.jpg
0785nobodyさん
垢版 |
2019/04/06(土) 22:04:39.08ID:???
すいません、スレ間違えました
0786780
垢版 |
2019/04/07(日) 14:58:32.00ID:???
ありがとう!
RFCあるみたいだから早速呼んでみます
0787nobodyさん
垢版 |
2019/04/07(日) 18:06:48.41ID:aB3Ry88Y
phpにもOAuthのライブラリあるから
車輪の再開発は必要ない
0788nobodyさん
垢版 |
2019/04/07(日) 20:36:48.30ID:???
MySQL(mariaDB)のbit型のカラムに、PHPのPDOを使って値を入れることは
不可能なんでしょうか?

INSERT INTO tb (flag) VALUES (:flag);

flagはbit型で:flagはプレースホルダー
:flagの置き換え値として(int)1やらtureやら入れてもエラーになります

まぁbit型やめてtinyint(bool)型にでもすれば良いのでしょうが、何か解決策がありましたら
教えてください
0789nobodyさん
垢版 |
2019/04/07(日) 21:39:06.29ID:Fnv9YApW
いじめはどこの町にもあるが島本町は特に酷い
「大阪府三島郡島本町のいじめはいじめられた本人が悪い 」なんて
公言する町は他に無い
0792nobodyさん
垢版 |
2019/04/08(月) 06:04:01.29ID:???
bindValue(':flag', 0b0001, PDO::PARAM_INT)
0793788
垢版 |
2019/04/08(月) 07:51:48.89ID:???
レスありがとうございます。

bindValueを使って明示的にINT型を指定しないと、INT型の値が勝手に文字列型に
変換されてしまうのですかね。
0794nobodyさん
垢版 |
2019/04/08(月) 15:18:14.98ID:???
echo ( string $arg1 [, string $... ] ) : void
↑の$arg1のargって何かの略語なんかね
0796nobodyさん
垢版 |
2019/04/08(月) 15:40:48.00ID:???
オーギュメントか、ありがとう。
ちょっと牛肉買ってくる
0797nobodyさん
垢版 |
2019/04/08(月) 18:27:34.46ID:???
アーギュメントじゃないんかい
0798nobodyさん
垢版 |
2019/04/08(月) 20:43:29.43ID:???
コアラはアウストラリア
八月はアウグスト
0800nobodyさん
垢版 |
2019/04/08(月) 21:53:29.75ID:???
augmentはオーグメントだがargumentはアーギュメントの方が近いだろう
auじゃなくてarなんだしarcをオークとは読まんじゃろ
0801nobodyさん
垢版 |
2019/04/08(月) 22:23:09.90ID:???
オーチャー
オーカイブ
オーキテクチャー
0803nobodyさん
垢版 |
2019/04/08(月) 22:46:37.10ID:kRBbdZLC
armor=オーマー?
0805nobodyさん
垢版 |
2019/04/09(火) 09:02:11.43ID:???
PHPで10〜20バイト程度のテキストを暗号化するときって
おまえらはなにを使っている?
0810nobodyさん
垢版 |
2019/04/12(金) 12:25:16.01ID:???
レンサバでwhile(1){ sleep(1); }なPHPを、
をexecでバックグラウンドにして呼び出すPHPにWebからアクセスしてみたら、
うっかり起動してしまって、
pid調べた後、同様にexecでkillすることで止まったんだけど、
これってレンサバ的にはどうなんでしょう?
バックグラウンド処理って禁止してるイメージ強いんだけど。
もし急に止められたりしないのであれば、cron使えないから代用にしようかなと・・・
0811nobodyさん
垢版 |
2019/04/12(金) 13:00:19.15ID:???
レン鯖は大抵実行時間が一定以上でに強制終了だろう
30分くらい容認してくれるところもあれば、3分程度で終了してくるところもある

cronのようなものを使いたければ、Google Apps Script (Googleドライブにあるマクロのようなもの)で
特定時間をトリガーにしたスクリプトを使い、UrlFetchAppでそのスクリプトをキックしたほうがいい。
0812nobodyさん
垢版 |
2019/04/12(金) 13:07:23.67ID:???
>>810
>>811の通り、勝手に止まる
年中動かすと間違いなく怒られるからやめとけ
ちなみにcronがない場合は「疑似cron」というものがある
例えば12:00に動かしたいものがある場合、12:00を過ぎてから初めてアクセスしたらcronが動くというもの
アクセス数が多ければcronっぽくなるが、アクセス数が少ないと13:00になったり14:00になったりする
0813810
垢版 |
2019/04/12(金) 14:56:19.06ID:???
>>811-812
ありがとうございます。やっぱだめなんですね。
おふた方のアドバイスを元にやってみます。
0814nobodyさん
垢版 |
2019/04/12(金) 16:30:12.72ID:???
JIT採用のPHP8が出たら、みんなPHPに戻ってきてくれるかな
0815nobodyさん
垢版 |
2019/04/12(金) 20:42:42.81ID:32H8HkBl
なぜ戻る?
0817nobodyさん
垢版 |
2019/04/13(土) 00:22:40.88ID:???
PHPを使う理由ってレン鯖がPHPしか使えないからとか、
PHPで作られた既存プロジェクトの改修とか、そういう理由じゃない?
新規で作るならPHPを選ぶ理由はない気がする
0819nobodyさん
垢版 |
2019/04/13(土) 00:54:54.14ID:???
ワードプレスのための言語だと思っている
0820nobodyさん
垢版 |
2019/04/13(土) 01:15:24.12ID:???
PerlとPHPが共存してた時代にどっちやるか迷ってPHP始めたけど
まあ今からなら初心者でも絶対違う方法選ぶだろうね
環境構築に躓いてPHPに挫折的に入門してくる層を取り込めれば良いと思うわ
0821nobodyさん
垢版 |
2019/04/13(土) 21:41:16.88ID:???
>>818
Rubyには勝ってるのか

WebだとやっぱJavaかPythonにいくのかな新規の人は
0822nobodyさん
垢版 |
2019/04/14(日) 00:24:20.18ID:???
Pythonはphpより遅いだろ?
それとも速度上がった?
0823nobodyさん
垢版 |
2019/04/14(日) 07:02:53.46ID:???
今や速度はマシン側の進化やチューニングが重要で
無駄な処理が多い言語でよほどそこで足引っ張ってない限り
言語の速度にはこだわらないってスタンスでいいと思うわ
それよりも扱いやすさと汎用性と安全性のバランスがとれてるもの
googleとか見てるとそんな感じだし

訪問者が読み込みを放棄して他所のサイトにいってしまいかねない
WordPressは例外中の例外
PHPの場合JIT実装にリソースさくならWordPressどうにかしたほうがいいわ
0825nobodyさん
垢版 |
2019/04/14(日) 10:44:05.86ID:nosTgM3P
Wordpressは色々問題があるが
セキュリティとかどうでも良くて
基本的に何でもかんでも自由にアクセス出来るオープンビッチなのを先にどうにかした方が良い

自由にphpファイル作れるのがまずあり得ない
イミュータブル・インフラストラクチャー? GitOps?何それおいしいの?
みたいな感じ?
0826nobodyさん
垢版 |
2019/04/14(日) 12:07:01.42ID:???
>>825
まぁ自由度高すぎるのは考えものだわな
function.phpももう少しルール決めておいてほしかった
0827nobodyさん
垢版 |
2019/04/14(日) 12:29:39.64ID:???
>>823
WordpressはPHPで作られているというだけでPHP本体の開発とは何の関係もないのだが
JITはそんなに重要ではないがFFIみたいな割と未来があるものも開発されてるしな
0828nobodyさん
垢版 |
2019/04/14(日) 13:28:49.69ID:???
>>823>>825-827
CMS用途でWordPressを選ばないならdrupalになるだろうが、
これもPHP必須。
0829nobodyさん
垢版 |
2019/04/14(日) 15:09:42.41ID:???
Movable Typeがあるだろ!
0830nobodyさん
垢版 |
2019/04/14(日) 15:45:31.29ID:???
>>827
そうはいってもPHPが存在する理由なんてWPがあるからみたいなもんだし
移植可能なWPのようなソフトウェアを
今からPythonでスクラッチから開発したら
いくら素の性能がまさるとはいえPythonで作ったWPモドキに軍配があがるだろう
0831nobodyさん
垢版 |
2019/04/14(日) 15:55:01.94ID:???
WPはプラグインとテーマの数が半端ない
それが使えればpythonだろうがCだろうがなんでも良いぞ
0833nobodyさん
垢版 |
2019/04/14(日) 20:37:52.59ID:???
PHPの存在理由がWPだけというなら
基本的にWeb開発はJava一択ってこと?
RubyやPythonがWeb開発でPHPより勝る理由はそうないだろうし
0835nobodyさん
垢版 |
2019/04/14(日) 20:52:29.21ID:???
フルスクラッチでなんでもかんでもやるならGoは悪く無い
0836nobodyさん
垢版 |
2019/04/14(日) 20:58:21.41ID:???
なんでJavaがだめかというと冗長でとにかくくどい長ったらしい。
環境構築もそれなりに大変、コードの保守も大変なのであえてJavaを選ぶのはドM。
その点Pythonは実にシンプルで、ドキュメントが多く初心者向けで覚えやすくPHP並に簡単。
ただしFW前提の開発になるので、FW含めて覚える感じになるが。
環境構築もPHPほどではないが比較的容易な方。
スマホ開発から入るエンジニアはJava触るもんだから、
馴染みのあるJavaでWebもやろうとなることはあるだろうけど。
0837nobodyさん
垢版 |
2019/04/14(日) 22:06:28.31ID:???
PHP言語そのもののzend?よりもさらに前身のところの元開発者です。
ポインタを裏方化したくてオブジェクト指向(というかオブジェクト演算子の利用)ができること、
画像には基本的に書き込みしない、
文字列と数値以外は使わないこと、
変数型はソースを解析してそれっぽく扱うこと、
などwebも鑑みながらプログラミングを楽にできることを徹底したつもりです
一応他の言語に比べて予約語以外は覚えることに苦労する面をすくなくするように気をつけたつもりです
0838nobodyさん
垢版 |
2019/04/14(日) 22:27:47.19ID:???
実際Railsも下火だしwebのバックエンド開発言語はベスト不在の混乱期に陥りつつあるね
フロントのトレンドサイクル馬鹿にしてる場合じゃないで
まぁワイはKotlinいったるやで
0840nobodyさん
垢版 |
2019/04/15(月) 00:02:34.24ID:???
.Net Coreが来るだろ
Webサーバーも稼働率で言えばIISが一番多いし
0841nobodyさん
垢版 |
2019/04/15(月) 00:16:10.96ID:???
こういう転換期にPerlerたちはどこへ向かっていったのかな?
PHPerが向かうべき先はPHP8なのか、Pythonなのか、NodeJSなのか
はたまたLLからの脱却なのか
0842nobodyさん
垢版 |
2019/04/15(月) 00:56:00.76ID:???
webゆーてもクラウドソーシングで記事書かせてWPに上げとるのがほとんどやで。
0843nobodyさん
垢版 |
2019/04/15(月) 10:21:47.48ID:???
MediaWikiっていうWikipediaを始めとするさまざまなwikiのエンジンでもPHPが使われてだな…
Wordpressだけじゃないんだよ・・・
0844nobodyさん
垢版 |
2019/04/15(月) 10:24:50.84ID:???
Pukiwiki形式を取り込める今どきのCMSが出たら言語関係なく移るw
0845nobodyさん
垢版 |
2019/04/15(月) 11:04:05.60ID:???
wikiは記法が乱立しすぎ
もうちょっと統一するか変換するかしてほc
0846nobodyさん
垢版 |
2019/04/15(月) 12:10:01.79ID:???
wikiなんてwp利用者と比較すればミジンコみたいなもんだろ
0847nobodyさん
垢版 |
2019/04/15(月) 12:10:09.94ID:???
マークダウンというwikiに統一されるよ
0848nobodyさん
垢版 |
2019/04/15(月) 12:14:54.59ID:2mKAe7m/
マークダウンはシンプル過ぎてメモにしか使えんw
アフィサイトに使えるくらい拡張したら一気に流行るだろ
0849nobodyさん
垢版 |
2019/04/15(月) 12:24:32.02ID:???
wikiなんてそれぐらいシンプルでええわ
0850nobodyさん
垢版 |
2019/04/15(月) 13:11:46.16ID:???
今はリッチテキスト系の入力フォームが主流で構文直書きなんかしてないだろ
0851nobodyさん
垢版 |
2019/04/15(月) 15:26:01.94ID:???
んで、PHPerは何使うのよ言語
0852nobodyさん
垢版 |
2019/04/15(月) 17:45:24.36ID:???
みんなでやろうNode.js
みんなで移住すれば怖くない
0853nobodyさん
垢版 |
2019/04/15(月) 20:01:59.69ID:???
サーバーサイドとクライアントサイドが同じ言語だと幸せなんだよね
現実は難しいけど
0855nobodyさん
垢版 |
2019/04/16(火) 01:21:05.54ID:???
>>854
>SEOやアクセシビリティの点数も満点です。
頭悪すぎて読む気にならんわ
0856nobodyさん
垢版 |
2019/04/16(火) 08:57:18.49ID:???
>>853
それならブラウザでPHPを動かした方が良いよ
0857nobodyさん
垢版 |
2019/04/16(火) 09:04:00.91ID:???
すでにJavaScriptがあるのにPHP採用するなんてないだろ
そもそもサーバサイドの対応と違って難しいぞ
サーバサイドは開発者が選べばいいだけだが
ブラウザは結局ベンダー次第になるし
ユーザ任せのプラグインじゃまず普及しないだろう
0858nobodyさん
垢版 |
2019/04/16(火) 09:08:10.65ID:???
>>857
じゃあJavascript上でPHPを動かせば良いよ
0859nobodyさん
垢版 |
2019/04/16(火) 09:21:03.96ID:???
>>854 実際こういう記事が出てくるとWP導入するとこも減ってくるだろう
0861nobodyさん
垢版 |
2019/04/16(火) 09:43:19.67ID:???
>>854
これ静的ファイルを出力してるだけだろ
wpのプラグインにそんな機能持ってるのがあるのでフーンくらいにしか思わん
0862nobodyさん
垢版 |
2019/04/16(火) 10:11:56.11ID:???
せめてsmartyっていって
0864nobodyさん
垢版 |
2019/04/16(火) 15:11:13.83ID:WhoMJ2W1
Wordpressは環境を共有するのむずい
何でデータベースにドメイン名含む完全なURLが入ったりすんの?
0866nobodyさん
垢版 |
2019/04/16(火) 16:04:10.12ID:???
>>864
そりゃサブドメインとかでも同じDBで動かせるようにだろ
データベース一つで複数のサイトを運用できるようになってるんだから
ドメイン入ってないとどこのサイトのデータなのか判別できなくなるだろう
0867nobodyさん
垢版 |
2019/04/16(火) 16:21:48.44ID:???
WordPress3.0からマルチサイト対応だからな
0868nobodyさん
垢版 |
2019/04/19(金) 11:53:18.34ID:???
empty関数って何の役に立つ?

「empty($value)」と「$valueの真偽値」は丁度結果の真偽が正反対になるから
empty使わず変数の真偽値確認すれば良いのでは
0869nobodyさん
垢版 |
2019/04/19(金) 11:57:37.19ID:???
>>868
読みやすい

それを言い出すとほとんどの関数いらなくなるので・・・
0870868
垢版 |
2019/04/19(金) 12:07:23.24ID:???
>>869
可読性のための関数ということですか
たしかに!をつけるより読みやすいのかもしれませんな
0871nobodyさん
垢版 |
2019/04/19(金) 12:31:15.94ID:???
でもこれemptyはどう判定すんだっけ?ともなる
0872nobodyさん
垢版 |
2019/04/19(金) 12:32:00.21ID:???
それは真偽値判定でも同じでは
0873nobodyさん
垢版 |
2019/04/19(金) 12:33:43.18ID:???
>>868
empty はnullか空白かゼロの時にtrueになる。それをor 条件で記述するのが面倒くさい

自分はデフォルト値を設定する時に使ってる
0874nobodyさん
垢版 |
2019/04/19(金) 12:34:54.03ID:???
覚える量が増える
0875nobodyさん
垢版 |
2019/04/19(金) 13:11:47.21ID:???
>>868
https://php.net/manual/ja/function.empty.php

返り値
var が存在し、かつその値が空や0でなければ FALSE を返します。 それ以外の場合は TRUE を返します。

次のような値は空であるとみなされます。

"" (空文字列)
0 (整数 の 0)
0.0 (浮動小数点数の 0)
"0" (文字列 の 0)
NULL
FALSE
array() (空の配列)



文字列の"0"や数値の0までFALSE扱いされるんだから
表出力するとき、0やNULLをまとめて空白にしたり、-を入れたりしたいときは使えるんじゃね?
0876nobodyさん
垢版 |
2019/04/19(金) 13:14:22.56ID:???
empty issetは先にシンボルテーブルチェックされる
プロパティなら__issetがトリガされるが__getは呼ばれない
0877nobodyさん
垢版 |
2019/04/19(金) 13:44:39.45ID:SjRzRdFv
>>868
Notice: Undefined variable: value エラーが出ないように使ってる
explodeした時にセットされてないかもしれない配列を判定する時なんかに使う
if(empty($arr[19]))continue;
とか
0878nobodyさん
垢版 |
2019/04/19(金) 20:08:37.69ID:???
>>873
>>868
それは結局empty使わなくても!$valueでも同じって話では。
!$valueでもnull、空白、0、"0"はtrueになる。

ただ>>877の言うとおり変数自体が未定義のときもemptyなら警告が出ないってのは
確かに使えるところかも。
0879nobodyさん
垢版 |
2019/04/19(金) 23:48:02.66ID:5ElWTncv
emptyは0も空白扱いとか
挙動がイミフ
0880nobodyさん
垢版 |
2019/04/20(土) 00:01:06.08ID:???
web フォームでは数字項目でも空白で入力できて
しまうからempty で空か判断できるのは便利だよ
0881nobodyさん
垢版 |
2019/04/20(土) 00:17:31.06ID:???
単なる真偽値チェックでも同じこと
0882nobodyさん
垢版 |
2019/04/20(土) 20:49:26.90ID:???
エラーメッセージ
ご指定のファイル public://media/2019/04/20/無題.jpg はコピー先ディレクトリーが正しく設定されていないため、コピーされませんでした。
ディレクトリーパーミッションが原因かもしれません。詳しくはシステムログを参照してください。

publicプロトコルってなんでしょうか?
0883nobodyさん
垢版 |
2019/04/20(土) 23:13:02.62ID:???
プロトコルじゃなくてpublic_htmlとか公開されてるルートディレクトリじゃねーの?
0884nobodyさん
垢版 |
2019/04/20(土) 23:19:00.37ID:???
オレオレエラーメッセージの詳細聞かれても
作者に聞けとしか
0885nobodyさん
垢版 |
2019/04/20(土) 23:35:43.27ID:???
publicプロトコルなんて無いぞ
オレオレプロトコルが存在する可能性はあるが、まぁ無いだろう。多分。多分な。絶対とは言ってないぞ
0886nobodyさん
垢版 |
2019/04/21(日) 08:38:35.91ID:???
>>883が正解だろうな
かっこつけてpublic://とかやっちゃういたいたしい作者なのだろう
0887nobodyさん
垢版 |
2019/04/22(月) 08:16:08.88ID:???
mb_check_encodingについてですが
普通はmb_check_encoding($var)のようにチェックしたい値を指定して使いますよね
しかし公式マニュアルを読んでみると

> var
> 調べるバイトストリーム。省略した場合は、 リクエスト開始時からのすべての入力が対象となります。

とあります
このvarを省略したときに、すべての入力が対象になるという部分が漠然としているのですが
すべての入力とは何ですか?
GET、POST、Cookieですかね、さらにはファイルアップロードも関係あるんでしょうか

この文字コードチェックは完全でないのは知っていますが、気休め程度にGETやPOSTで送られてきた
パラメーターを1つ1つチェックしていました
しかし引数省略してコールすれば一括して文字エンコーディングのバリデーションできるなんてこと
あるんですかね
0889nobodyさん
垢版 |
2019/04/22(月) 12:30:01.69ID:???
>>887
まあ、省略することは考えないほうがいいでしょう。
$_GETや$_POSTは配列を含む可能性があるので、
そのへん考えて、それらの入力値はarray_walk_recursiveのような関数を使うのがいいらしい。
http://gihyo.jp/dev/serial/01/php-security/0020
0890887
垢版 |
2019/04/22(月) 20:08:37.95ID:???
>>889
レスありがとうございます

やはり1つ1つチェックした方が良いのですかね
たしかに配列の場合もありますし、そのときのmb_check_encodingの挙動が
わかりませんしね
0891nobodyさん
垢版 |
2019/04/23(火) 01:02:03.75ID:???
すべてのとは$_FILES以外
配列は再帰で処理されるよ
すぐ上のリンクに書いてある
あとストリームだけじゃなくシーケンスも検証すべき
0892nobodyさん
垢版 |
2019/04/23(火) 06:10:42.00ID:???
不正な文字エンコーディングによる攻撃って、何を心配してんのだろう?
mb_check_encodingなんて使ったことないけどな…
想定した入力値かどうかをチェックすればいいだけちゃいますのん?
0893nobodyさん
垢版 |
2019/04/23(火) 18:08:22.38ID:???
エロティーヤーティーヤッ
0894nobodyさん
垢版 |
2019/04/24(水) 00:21:00.07ID:W8CxzoJs
何でmb版があるとかよく分かんない仕組みなんだ?
phpの文字列って
全部UTF-8で良いじゃん
0895nobodyさん
垢版 |
2019/04/24(水) 00:42:22.30ID:???
>>894
新規サイトはもちろんそう
古いサイトがこれまたね・・・
0896nobodyさん
垢版 |
2019/04/24(水) 10:15:01.81ID:???
>>894
うちはezwebにもimodeにも対応しているよ
0897nobodyさん
垢版 |
2019/04/24(水) 19:01:28.66ID:???
自慢にもならねえ
老害見る目で見られるんだぜ
0898nobodyさん
垢版 |
2019/04/24(水) 19:16:57.00ID:???
imodeって今でもあるの?
hdmlとかもうマヂ無理…
0899nobodyさん
垢版 |
2019/04/25(木) 02:58:55.52ID:???
最近はutf8mb4とかあるからな…
0900nobodyさん
垢版 |
2019/04/26(金) 02:13:22.85ID:???
どうせ統一されないから内部表現はバイナリで良いという発想のため
そもそもunicode勢でもstringがutf8の言語なくない?
0901nobodyさん
垢版 |
2019/04/26(金) 05:06:51.79ID:???
mb_check_encodingの引数省略callで
$_FILES以外の入力の文字コードチェックできて
しかも配列の入力も再帰的にチェックされるなら
引数省略でお手軽に入力チェックした方がいいと
思うのだが何か問題あるの?
0902nobodyさん
垢版 |
2019/04/26(金) 06:30:21.92ID:???
どうせバリデーションしてんだろ?
とりあえず全部やるって人もいるけど
本当に必要なのか考えたほうがいい
0903nobodyさん
垢版 |
2019/04/26(金) 11:41:16.88ID:???
$_POST['name'] = "\xad";

if(!mb_check_encoding())
die('invalid encoding');

とやっても何も反応しなかった

mb_check_encoding($_POST['name'])
にすれば反応があった

引数省略はインチキくさいな…
0904nobodyさん
垢版 |
2019/04/26(金) 14:58:40.97ID:???
変換こけたらカウントする仕様だからねえ
0905nobodyさん
垢版 |
2019/04/27(土) 13:52:32.41ID:o/Gfy+Vo
              _              _          /
       もっと |稼| ぎたい!! お金 |超| 大好き!! ./ ∧   ∨
               ̄               ̄      /   /\  \ \
      >'´', ∨>、 .┌、 ┌┐ __ __  __ l  / ⌒介トム`<∨
        〈  .∨ ./ ̄',| ヽ| ├ ┤ | ! |  /  ',l  l ,.ィ兮、   ,イ^兮∨
       ∨   / △∧    .|  |  |__| └  △ ',  l ^ー‐'",   `¬'''"∨
       ∨   / ,‐、 ∧_ヘ_」  |__|─‐  ,-、  ', ',     `' ,,     ∨
       ∧_/ ̄   ̄   └‐┘    '─'  ⊂⊃ ゝ  `', ̄/   /}
                    /7、ヘ¨ ⊂⊃ ⊂⌒7\>、 ‐'  x< /
           高収入求人情報 ム/ ヽゝ ⊂ニ⊃ ∠/ {   //`´ / j }/ /
                                 ゝ l/£`ーイ /   /
                                     ヽ ゝ'⌒>‐' /
                                         `l    \
0906nobodyさん
垢版 |
2019/04/28(日) 01:05:06.77ID:???
>>889
この記事見て思ったんだが
$_SERVERもバリデーションする必要あるもん?
改竄される可能性あるのかな
0907nobodyさん
垢版 |
2019/04/28(日) 12:30:42.80ID:???
例えばHTTP_USER_AGENTなんかは簡単に偽装できるからね
使わないならバリデーションの必要ないけど何かで使うなら普通にやる
0908nobodyさん
垢版 |
2019/04/28(日) 14:23:20.44ID:???
PHPerなんて、無意識にhtmlspecialcharsをencoding指定でちゃんと不正な文字か出力時にチェックしてるはず。
0909nobodyさん
垢版 |
2019/04/28(日) 14:35:34.42ID:???
個人叩きはしたくないけど、
こんな共感出来ない記事書いてたっけなと不思議だったが、人違いだった。
あれは大垣さんじゃなくて徳丸さんだったな。
どっちもPHP界じゃメジャーな人だった気がするが。
0910nobodyさん
垢版 |
2019/04/29(月) 06:16:31.94ID:???
refererも偽装できるんだっけ
0911nobodyさん
垢版 |
2019/04/29(月) 08:28:34.82ID:???
HTTP_USER_AGENTやHTTP_REFERERに、クライアントが制御文字を仕込むことって
可能なんですか?
0912nobodyさん
垢版 |
2019/04/29(月) 09:27:46.06ID:???
Chromeの拡張機能にユーザーエージェントを偽装できる奴あるじゃん
0913911
垢版 |
2019/04/29(月) 09:44:07.85ID:???
偽装はできましょうが、Fiddler使ってUser-Agentに改行文字やらタブ文字を仕込んで
送信してみると、Bad Requestエラーが返ってきますね
Apacheがはじいてるんでしょうか

$_SERVER['HTTP_USER_AGENT']に制御文字を伝えるのは難しいってことですかね
0914911
垢版 |
2019/04/29(月) 10:17:01.24ID:???
おっとTabはセーフでした
改行はBad Request行きですね
0915nobodyさん
垢版 |
2019/04/29(月) 13:57:23.89ID:???
ヘッダに制御文字をセットして送れるようなアドオンがあった気がするから
多分そのままやろうとしてもブラウザ側でなんかしてんじゃないかな
0916911
垢版 |
2019/04/29(月) 19:46:34.04ID:???
ブラウザで止めてる可能性もあるわけですか
0917nobodyさん
垢版 |
2019/04/30(火) 16:16:15.00ID:???
オレオレWebサーバとWebブラウザで
制御文字受け付けるソフトウェアを作ることはもちろん出来るが
そもそもRFC違反なので
まともなWebサーバやWebブラウザであれば
そのへん対応はしてる
0918nobodyさん
垢版 |
2019/05/01(水) 09:45:11.48ID:???
じゃ結局$_SERVER['HTTP_USER_AGENT']のバリデーションは
mb_check_encodingかましておけば良いということで
0919nobodyさん
垢版 |
2019/05/01(水) 14:49:28.76ID:???
ファイルの重複登録をさけたいのですが
ファイルのハッシュ値計算ってどうやるんですか?
md5(file_get_contents('a.jpg'))
こんなんでいいんでしょうか?
jpgならまだいいんですけど
これが例えば動画とかだったらメモリとか大丈夫ですかね?
0921nobodyさん
垢版 |
2019/05/01(水) 16:37:42.57ID:???
sha1_fileのほうが良くない?

でもハッシュを格納して保存しておくコストとかハッシュ計算して比較する時間より、
直接比較したほうが早かったから直接比較してるな…↓みたいな感じで
〜2MBくらいまでのjpeg or pngファイルの話だけど

(binary)file_get_contents($path1) !== (binary)file_get_contents($path2)
0922919
垢版 |
2019/05/01(水) 16:46:57.24ID:???
>>920-921
どうもありがとうございます。
専用関数があったのですね。早速試して早い方を採用してみます。
binaryへのキャストなんて機能あったんですね。知りませんでした。
新発見に感謝です。
0923nobodyさん
垢版 |
2019/05/02(木) 15:17:11.58ID:IrXSQyv/
教えてください。
header関数とini_set関数を記述する場合、どちらを先に記述すればいいですか?
よろしくお願いします。
0924nobodyさん
垢版 |
2019/05/02(木) 15:58:58.51ID:???
headerはスクリプト中で初めてechoする前(htmlに埋め込む場合はそれより前)に入ってればいい
try-catchブロックで最後の最後にheaderでエラーページに飛ばすとかいう処理は認証ロジックでよく書いたりするのでは?
0925923
垢版 |
2019/05/02(木) 16:08:51.31ID:IrXSQyv/
>>923です。

>>924さん
教えてくださり、ありがとうございます。
まだ未熟なため、そこまで頭が回りませんでした。
改めて、ありがとうございました。
0927nobodyさん
垢版 |
2019/05/03(金) 13:14:27.31ID:q6AE+Q6a
>>926
使ってる?
0929nobodyさん
垢版 |
2019/05/03(金) 14:22:53.19ID:???
LAMP環境でPHPを保守運用するときのアドバイスお願いします
0930nobodyさん
垢版 |
2019/05/03(金) 23:06:26.24ID:???
SQLインジェクションにきをつける
0931nobodyさん
垢版 |
2019/05/03(金) 23:07:41.56ID:???
それLAMPじゃなくてもじゃね
0932nobodyさん
垢版 |
2019/05/04(土) 00:40:16.77ID:???
mysql_secure_installationを実行しておく
0933nobodyさん
垢版 |
2019/05/04(土) 09:22:50.85ID:74tfT9f9
Apacheではなくnginxにする
0934nobodyさん
垢版 |
2019/05/04(土) 13:52:18.13ID:???
質問ざっくり過ぎて答えようがないわw
0935nobodyさん
垢版 |
2019/05/04(土) 19:50:01.68ID:HZeq1bgi
令和元年をイジメ撲滅元年にしましょう

>大阪府三島郡島本町のいじめはいじめられた本人が悪い
>みんなそう思ってる
>誰もいじめの被害者に同情しない
>はよ死ねイジメられるクズ
           ↑
島本町民以外の皆さん
イジメは卑劣な行為なので隠ぺいするのは学校や加害者側に後ろめたい気持ちがあるからですが
いじめがあったことを認めたうえで被害者に責任をなすりつけるなんて最低最悪ですね

イジメ撲滅は島本町から
島本町は自浄能力のない腐った町なので
外圧でイジメを撲滅しましょう

大阪府や大阪府教育委員会は
島本町みたいな糞町を放置しておくのか?
0936nobodyさん
垢版 |
2019/05/06(月) 12:36:34.85ID:???
訪問者がまだいるかってどうやって検知すればいいですか?
非同期通信で30秒おきぐらいにクライアントからサーバに通知する方法は思い浮かびますが
最近はこんなことしませんよね?
0939nobodyさん
垢版 |
2019/05/07(火) 14:58:52.45ID:H3VnEucY
MySQLではなくPostgreSQLにする
0941nobodyさん
垢版 |
2019/05/07(火) 17:50:01.58ID:???
>>936
どういう理由で訪問者を知りたいのかによるだろう
チャットのように訪問者同士でやりとりするようなシステムなら
Server-Sent Eventsを使えばいい。event-streamを送ってる間は訪問者がいる状態だ。それをカウントしろ

ただ自己満足で訪問者数を知りたいだけなら
Google Analyticsでも仕込んでおけ
0943nobodyさん
垢版 |
2019/05/08(水) 06:05:48.82ID:???
チャットみたいなリアルタイムなwebアプリはnode.jsがいいって聞くけどphpでも問題ないの?
0945nobodyさん
垢版 |
2019/05/08(水) 11:53:27.50ID:kDAnwyo4
zend_framework3使ってる人いますか?
1からの移行なんだけど、
本も出てないみたいだし日本語の記事もあまり見ないから2にするか迷ってます。
3ってリリースから1年以上経ってると思うけどコケてるのかな?
0946nobodyさん
垢版 |
2019/05/08(水) 12:03:07.05ID:???
そんな書籍も出てないバージョンに移行するくらいなら
フレームワークごとまるっと変えちゃえば?
今はLaravelほぼ一択でしょ
0947nobodyさん
垢版 |
2019/05/08(水) 12:08:32.78ID:???
fuelphpでいいと思うよ
0948nobodyさん
垢版 |
2019/05/08(水) 12:45:15.91ID:???
Laravelって遅くない?
0949nobodyさん
垢版 |
2019/05/08(水) 14:11:45.33ID:???
>>948
バリおそだよ
あと日本語サイトがクソ
0950nobodyさん
垢版 |
2019/05/08(水) 14:25:34.71ID:KtraEh0E
Symfony4は?
0951nobodyさん
垢版 |
2019/05/08(水) 16:29:23.82ID:???
今から使うならSymfony5の方がいいだろ。
0952nobodyさん
垢版 |
2019/05/08(水) 17:26:25.23ID:???
DB処理をPDOでゴリゴリ書けばいくらかましになる
0953945
垢版 |
2019/05/08(水) 18:12:34.81ID:???
zend製だし1がかなり使いやすかったからいいかなって思ったんだけど誰も使ってないのか。
今一番シェア率高いのってsymphonyなのかな?
0956nobodyさん
垢版 |
2019/05/08(水) 21:54:31.23ID:Vc4r9yn5
速度求めるならPHPを選ぶな
0957nobodyさん
垢版 |
2019/05/08(水) 22:16:49.75ID:???
Laravelの遅さが気になるほどアクセス数あるサイトを運用してるやつここにはいなそう。
0959nobodyさん
垢版 |
2019/05/09(木) 02:21:39.95ID:???
いやLaravelはアクセス数とか関係無く、単純に読み込むのが多過ぎて遅いって感じだろ
0960nobodyさん
垢版 |
2019/05/09(木) 02:29:13.57ID:???
だから結局は>>956って話だろ
goでも使ってればいい
0961nobodyさん
垢版 |
2019/05/09(木) 03:25:55.39ID:???
速度求めるならPHP使うなで終わるならこんなスレ見に来なくていいぞ
そっから話が展開しないし
このスレはPHPでも速度を求めたっていいじゃない
っていう思考のやつじゃないと無意味なスレだからな
0962nobodyさん
垢版 |
2019/05/09(木) 07:06:19.20ID:???
PHP Conference、のぞいたことある?
今度言ってみようかな
0963nobodyさん
垢版 |
2019/05/09(木) 08:12:01.43ID:+Cf+P2JY
PHPフレームワークで速度1位はUbiquity
2位のSymlexの倍以上の速度
2位はSymlex
3位はSymfony

http://www.phpbenchmarks.com/en/

1位と2位がきいたことねえ
0964nobodyさん
垢版 |
2019/05/09(木) 08:36:36.00ID:???
phpの速度よりもこの混沌としたキャッシュ・言語周りどうにかしてくれ〜〜〜
0965nobodyさん
垢版 |
2019/05/09(木) 09:28:42.91ID:???
何が混沌としてるのか言いたいことがよく分からん
0966nobodyさん
垢版 |
2019/05/09(木) 09:47:27.46ID:???
>>959
Laravelの読み込みよりディスクIO、DBアクセス、外部API連携、HTTP送受信の方が遅いやろ。どんだけシビアなシステムつくってるん?
0967nobodyさん
垢版 |
2019/05/09(木) 10:08:01.84ID:???
>>964
さっぱりしたフレームワークを使え
0968nobodyさん
垢版 |
2019/05/09(木) 10:20:43.63ID:???
>>965
ブラウザでキャッシュ
サーバーでキャッシュ
jsで独自にキャッシュ
プロクシでキャッシュ
更にクッキー
更に何故かキャッシュされない

更にこれがブラウザ毎に挙動が違ってうわぁぁってなる
0969nobodyさん
垢版 |
2019/05/09(木) 10:23:06.94ID:???
>>968
PHP関係ないやん
HTTPの勉強をしろ
基礎体力をつけてからまた来い
0970nobodyさん
垢版 |
2019/05/09(木) 13:18:37.13ID:???
DBに負荷かけないようにRedisのようなメモリDBを併用してるとキャッシュに悩まされるな
0971nobodyさん
垢版 |
2019/05/09(木) 14:37:12.15ID:???
アプリケーション側よキャッシュに悩まされるやつはアーキテクチャ設計が間違ってるよ。透過的に扱えない時点でキャッシュ以外の用途を持たせてる。
0972nobodyさん
垢版 |
2019/05/09(木) 14:49:51.50ID:xQil3OcG
全部joinしたテーブルを作れば
redisのキャッシュなんていらない
0973nobodyさん
垢版 |
2019/05/09(木) 14:51:18.85ID:???
キャッシュ以外の用途なのにキャッシュを効かせてしまっている またはその逆
という、 >>968 がクソ設定下手の無センスだという話よね。 いるよねそういう子
0974nobodyさん
垢版 |
2019/05/09(木) 18:13:33.05ID:???
センスで開発してんの?
さすがペチパーかっけぇ
0975nobodyさん
垢版 |
2019/05/09(木) 22:24:31.29ID:???
シックスセンスで開発とか普通やろ
0976nobodyさん
垢版 |
2019/05/10(金) 09:49:05.54ID:???
センスなしで開発されるよりは余程マシなのでは
0977nobodyさん
垢版 |
2019/05/10(金) 20:29:49.26ID:???
新人「私はセンスがあるので教育など不要です。教育でセンスが鍛えられるんですか?(笑)」
0978nobodyさん
垢版 |
2019/05/10(金) 21:07:10.94ID:???
>教育でセンスが鍛えられるんですか?
勿論
0979nobodyさん
垢版 |
2019/05/10(金) 21:49:03.04ID:???
>>977
むしろ教育以外でセンスを鍛える手段あるか?
0980nobodyさん
垢版 |
2019/05/10(金) 22:00:34.45ID:???
独学やろ
アニメのみすぎやで
0981nobodyさん
垢版 |
2019/05/11(土) 00:45:50.26ID:???
そのセンスって独りよがりじゃないですか
0982nobodyさん
垢版 |
2019/05/11(土) 02:43:06.15ID:???
センスってまさかかっこいい関数名を付けれるセンスとか言わないよな?
0983nobodyさん
垢版 |
2019/05/11(土) 07:04:18.29ID:CgpoEuxY
『これ、このまま進んだら3ヶ月後破綻するな…』と、10行程度書いた段階で気づいてリファクタ始められるのが、センス。
0984nobodyさん
垢版 |
2019/05/11(土) 08:53:40.12ID:???
>>983
普通と思ったけど、確かに初心者の頃はコード書くのに必死だったな
0985nobodyさん
垢版 |
2019/05/11(土) 10:14:30.15ID:???
プログラミングがどういうものかも知らないで
はじめてのプログラム10行で先行き見通せるなら天才だわ
0986nobodyさん
垢版 |
2019/05/11(土) 12:53:59.60ID:???
if/elseを3つ書いたら、あ、これはどんどん組み合わせの数が増えて理解できなくなるな、ということに気づくセンスはぐらいは欲しいよな。
0987nobodyさん
垢版 |
2019/05/11(土) 13:32:56.66ID:sQkEx0tm
if else switchを使っても良いぞ?
全組み合わせのテストを一緒に書くなら、だが

賢い奴は
OOPのポリモーフィズムで対応して
分岐を減らす
0988nobodyさん
垢版 |
2019/05/11(土) 18:49:26.28ID:CgpoEuxY
>>985

お前が才能無いだけ
0989nobodyさん
垢版 |
2019/05/11(土) 19:33:09.07ID:???
>>988さんスッゲーな
MENSA会員になれるかもしれないぜー
0990nobodyさん
垢版 |
2019/05/12(日) 02:46:35.86ID:???
PHPの勉強を初めて3秒でこの言語はダメだと見切りをつけるのが本当のセンスある人。
0991nobodyさん
垢版 |
2019/05/12(日) 03:28:14.43ID:???
他の言語知ってればphpは勉強しなくても使えるからな・・・
0992nobodyさん
垢版 |
2019/05/12(日) 07:21:18.84ID:???
phpしかやったことない状態で
javascriptやったけどすんなりわかったよ
さらにhtmlのボタンにイベントを割り振るようなフロントエンド開発に触れて
そこからc#でwindowsフォームアプリ作ってみたがこっちもそんなりいけた

まあ言語というより何を作るかだな
他の言語やってphpの構文やら機能理解したとこで
webアプリ開発をしたことがなければ(゚Д゚)ハァ?状態だと思うぞ
0993nobodyさん
垢版 |
2019/05/12(日) 18:00:57.21ID:a9GnKQ/e
>>990

お前が言語に使われてるだけの能無しだとすぐわかるのが、本当のセンス。
0994nobodyさん
垢版 |
2019/05/12(日) 18:07:20.07ID:???
くだらねーレスで埋めてんじゃねえよ
あく新スレたてろや
0995nobodyさん
垢版 |
2019/05/12(日) 18:17:13.21ID:???
しょうがねえ、俺がたてるか
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 225日 8時間 15分 26秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。