PHP上級者が集まるスレ
ここでは他のPHPスレよりもより一層と高いレベルでの情報交換・体験談などを行うスレです。 我こそはPHPプロフェッショナルだという方の書き込みをお待ちしております。 メソッドチェーンってどこでエラーになったかわからなくない? IDEを使えばメソッドチェーンのどこからNULLかわかる メソッドからの戻り値で成否を判別するような実装してるからだろうw 例外と try catch 使おうぜ。 なんか得体の知れないエラーが出てしまいます。 何が原因なのでしょうか? [test.php] <?php phpinfo(); ?> #php test.php →正常にPHPが実行されます。 しかし、ブラウザより http://hogehoge.com/test.php とやると Internal Server Error UID of script "/home/first_hoge/public_html/second_hoge/test.php" is smaller than min_uid suPHP 0.7.1 PHPじゃなくて、suPHPやらサーバ側の問題だな。 test.phpの所有者やパーミッションを確認してみれ。 >>496 ありがとうございます。所有者を変更したらブラウザからアクセスできる様になりました。 情報セキュリティスペシャリスト試験に、PHPが含まれなくなったのは、PHP勉強していた受験者にとっては 反則以外の何者でもない。 結局、PerlとJavaとC++しか出なかったわけだ。 PHPは昨今難易度あがりすぎだからな。 >PHPに最悪のバグ発覚!CGIモードで動かしてる奴はソース丸みえ!!ソースにパス埋めてる奴は死ぬぞ! 個人で持ちやすい庶民系レンタルサーバーってほとんどcgiだと思うけど http://rental.off-soft.net/4166.html これで鯖屋がモジュールにシフトしてくれるとありがたい。 脆弱性の発覚なんかどんなプログラムにもあるわい。 ちゃんとバージョン上げてるやつには関係ない話。 影響を与える範囲が広範囲に渡るんだから堅牢な作りにするのが当然なのに、 相変わらずその場しのぎの突貫工事だからこんなことになるんだろ PHPがどうこうより、WEBの公開ディレクトリにフロントコントローラ以外もおいてる人って・・・ www.php.net にアクセスできなくね?俺だけ? そのうち直るだろ。 「オレだけ?」って疑問が湧いたら、 まずケータイからでも同じか確認すればいい。 >>507 おれは506じゃないけど、ひとこと言わせて なんでそんな面倒なことを要求するの? あなたも確認してみればわかることじゃないの? どうして自分は確かめるのをいやがるの? そんなにツンツンしないで馴れ合おうぜ〜(^ε^)チュ 外は冷たいのにどうして俺の部屋だけこんなに暑いのだ? >> 505 > PHPがどうこうより、WEBの公開ディレクトリにフロントコントローラ以外もおいてる人って・・・ うちの会社が開発してるシステムには公開ディレクトリに、phpファイル全部置いてありますw 社長兼CTOにそれを指摘したら、 「htaccessでアクセスさせなければいいじゃん」 で終わり・・・。 糞CTOを論破するための、シンプル且つ論理的なセリフないですかね?w CLIで、root権限で動いているプログラムを プログラムの中から 一般ユーザーに降格させたいんですが どうしたらよいでしょうか >>513 君が理由も分からないまま人に言われたことを鵜呑みにしちゃってるのが悪いんでない? > 「htaccessでアクセスさせなければいいじゃん」 おれもそう思うんだけど。 .htaccessで塞ぐぐらいなら最初から、別のディレクトリに置けよ。 設定ミスで.htaccessが無効化されたり、 ずさんな運営でゴミファイル(xxxx.php.bk)が生成されたり、 色々と問題は起こる。 「公開ディレクトリに置く理由」が無い。 理由はインストール型パッケージの配布のしやすさかな。 もちろんユーザーが望めば非公開のディレクトリに置くこともできるわけで、 ちょっと別の話だなこれは。 配布するレベルのものなら尚更、 非公開にすべきファイル(ライブラリやコンフィグ)は好きなディレクトリに設置出来るようにしておくべき・・・ それは極論。 導入をし易いって意味ではPHPはベター。 上級者に聞きたい。 例えばcount.phpというのがあって これはリファラをチェックして 同じリファラをカウントするコードなんだけど(要はランキングみたいなもん) iframeやimgタグで<img src="http://hoge-hoge-hoge.com/count.php ">とかやられたら 不正されるよね?これを上手く回避する方法ないかな? >>522 最終アクセスのIPを記録しておいて、連続同一IPは無視する >>523-524 レスありがと けどそれだと相手サイトにimgタグ設置しておいて 普通に他人がアクセスした奴が時刻バラバラIPバラバラなら 全部カウントされてしまわない? 要するにAというサイトがあって それにBサイトのcount.phpをimgタグで仕込ませておけば Aサイトに検索で飛んで来た時刻・IPバラバラの アクセスは全部imgタグを介してBのcount.phpとしてカウントされてしまうと思う。 >>525 あーなるほど iframeだと実質的に違いはクライアントサイズしかないから、 JavaScriptを使ってブラウザ間の差異に気をつけつつ判断するしかないんじゃね。 リンク流入数とか、広告流入数を取りたいのかな? どちらにせよcount.php側の処理を2重3重にしないと不正対策は難しい。 みんなレスありがと。う〜ん何か簡潔な解決策はないもんかな… 簡潔な方法というとアクセスが送られてくるサイトを 定期的に調べるスクリプト動かすとかしか思い浮かばない… 不正やってるimgタグとかiframeとかがないかどうかチェックみたいな。 (こちらのカウント処理用PHP(count.php)が埋め込まれてないかどうかの) ただ相手もそんな簡単にバレるようなことはしないから こちらのリファラとかIPとか調べてサイト主がアクセスしてきた可能性が高い場合は 不正コードを生成しないとかされてたらこのチェックはかなり難しいなぁ。 なんか良い方法ないのかなぁ… >>528 そこまで恐ろしい相手と戦うのかwww 確かにリファラをたどって相手のHTMLを取得してa以外の要素があれば弾くのはいいかもね。 こちらのIPだけに特別なHTMLを生成する懸念に対しては、相手のGoogleキャッシュを確認するとかでどう? んでさらに心配ならJavaScriptによる表示サイズでフィルタするしかないのでは。 >>529 なるほどなるほど。キャッシュを調べる手があるね。 とにかくこれは地道に色々やるしかなさそうだなぁ。 がんがってみますね。レスありがとうございました! 上級者の方、ご教示お願いします。 for($i = 0; $i < 100; ++$i){ print '<a href="' . $url[$i] . '" target="_blank"><img src="img.png" width="100" height="100"></a>'; } こうやってimgタグをaタグでリンクすると処理コストがかなり掛かるんです。 a単体にするとかなり速いです。なんででしょう? あとimgを付けていても、href="hoge.com" みたいに直接URL記述したら速いです。 わけが分かりません… だれか助けて〜 html = ''; for($i = 0; $i < 100; ++$i){ html .= '<a href="' . $url[$i] . '" target="_blank"><img src="img.png" width="100" height="100"></a>'; } print html; こうやったら解決しました!どうもお騒がせしました! と思ったら気のせいだった…初心者スレ行ってきます! 他のPHPスレ言って質問したんですが 「PHPは糞言語」「消えろ」「速度を気にするやつがPHPなか使うな」 とか言われてまともな回答が来ませんでした… だれか教えて下さい〜 またお前か 繰り返すが俺らが答えるまでもない 少しは学習しろ >>536-537 そんなこと言わないでお願いしますよm(__)m 他のスレ言っても全然答えてくれないんです。 やっぱ何か改善可能な原因があるんですかね? >>531 マジレスすると、質問者のレベルを考慮すると、回答がすごくめんどくさい。 ここは上級者同士が集まって高尚(笑)な話をしたいスレのはず。 ここと向こう?の登場人物が同じ可能性だってあるのにバカなやつ phpでprivateなクラスをテストしたい時って、ReflectionMethodを使うのが一般的なのでしょうか??誰か教えてください ToT うるせーぞクズ てめーにコード組んでもらわなくても誰も困らないからさっさと失せろ >>544 初心者未満のゴミが俺ら上級者の手を煩わせないでくれたまえ foreach ($arr as &$value) { /* hoge */ } unset($value) foreachでリファレンスを利用したあとにunset()するけど unsetしないで$valueを有効活用したことあるやついる? >>547 初心者レベルのクズが俺たち上級者に気安く話しかけるな なるほど・・・ 上級者としては、foreach後の参照はむしろ使うべきではないということか。 ありがとうございました。 foreach後の参照がどうこうより、 どんなロジック組んだら有効活用出来るのか考えてみると、 そのロジック自体無いな・・・って答えになる気がする。 イテレーションしてるのに最後の要素だけ参照で使うとか何がしたいのか意味不明 >>552 そうなんだよ だからこそ、参照が残る謎仕様が気になる 変数スコープ的にも参照が残るのは自然だと思うが・・・ iphoneアプリ、Windowsアプリを売って生き残れ 経済産業省は若者らの小規模な起業を促すため 数百万円を補助 http://matome.naver .jp/odai/2134667637844882401 格安iPhoneEラーニング(学習動画多数あり) http://tinyurl. com/7wj77om コワーキングスペースJP http://tinyurl. com/76vdrny コワーキング帳 http://tinyurl. com/brzs486 javaやlinuxは手間がかかる 一人でやるには手間がかかりすぎる 手間がかからないで一人で開発できて 人の多いところで直接販売できる仕組みが提供されているメーカ製言語だけやる ずばりiphone またはWindow 8 Metro App Store C# やるならメーカー製の言語 洗練された仕様 脆弱性が少なく 開発ソフトが優れ 課金ライブラリ アップデートライブラリが提供されていて 情報、書籍が多く開発しやすい 奴隷になりたければオープン系をやればいい 時間がかかり 人は多く 仕事の取り合い 足の引っ張り合い 脆弱性が多く 互換性がなく 動的だからドキュメントが多く必要で 癖があり 大規模開発中心 詳細設計しかできない体になって年取ってぽいだ 独立もできない 手間のかかりすぎる技術だから 派遣屋 IT経営者はその方が喜ぶ 大規模分割開発では使い捨てても独立はできまい 嫌なら辞めろ 代わりはいくらでもいる 若い派遣営業は舐めた態度をとってくる ひどいピンハネ オープン言語、日本独自開発 言語・フレームワーク ガラパコ携帯 javascript html5 android java linux python rubyやnode.jsとかやめとけ メディアに金を払ってステマ宣伝してくるが釣られて手を出しても情報は少なく手間がかかり スパゲッティコード 未完成 デスマに陥る そそのかしておいて自己責任 コンパイルできないからパクられ 直接売る場所がないから企業に買い叩かれ金にならない 生きていけない奴隷仕様だ ここから抜け出すにはiPhone一択 またはWindow 8 Metro App Store(未確) C# Objective-CやC#を覚えるとサーバーサイドからクライアントサイドまでカバーでき人の多い場所でソフトを売る権利を得られる 仕事や趣味でObjective-CやC#をやっておけば派遣切りされても会社辞めることになってもソフトを売って生きていける それはセーフティーネットになる WEBサーバーIIS Win2008ServerVPS SqlServer Oracle MySql 言語はマーケットで売れるメーカー製のみ C#は自分用業務支援ツールとして使える 例えばPHPでWEBアプリを作っていて管理者画面はC#(EXEアプリ)で作るとかなり早く作れる(Smartyなんか使うよりもかなり早くだ) C#のソースを出さなければWEBアプリの著作権も守れる ASP.net(C#)+管理EXEアプリ(C#)+iPhone C#マーケット Windows8 Metroアプリ WindowsPhone Surface PS Vita Xbox360 iPhone(mono使用) iPhoneマーケット iPhone iPad 予定 iTv iCar i (家電製品) 地方に安い土地を買いコンテナ型の格安高性能オフィスを建て(300万〜500万) レンタル自習室&シェアオフィス・コワーキングで収入を得ながらそこでアプリを開発する http://tinyurl.com/7pb2yaa http://bit.ly/iLIpJa ヤフオクで脱獄iPhone15kぐらいで買える IIJmio,イオン.BB.exite,DTIで月千円でネット使える >>530 SSIで画像なり文字を返すように…まーいっか、今更。 文字列の先頭がビックリマークだ ってのを判定するとき if( ord($hoge)==33 ) echo "ビックリ"; って、ダメなの? $hogeが文字列なら if($hoge[0]=='!') がいいんじゃないの。 >>568 文字列って配列だったのか・・・ ありがとう! >>569 配列と同じ記法の[n]が使えるってだけで、もちろんforeachで回したりはできないぞ。 あと$hogeが実際に文字列ではなく配列かもしれない場合も必要があれば考慮すべし。 セッションIDって英数字で26文字だけど、 26文字ってなんか意味があるの? 16文字は短いし、32文字だと長いよね〜 みたいな感じ? 128bitを5ビットずつ削ってるのか・・・ なるほどねぇ だから最後は3ビット余るから セッションIDの最後は必ず0〜7なんだなー フヒヒ >>570 foreachで文字単位で回したいときはどうするのがベストなの? 話は変わるんだけどさ session_register()系 ってどうしてクビにされたの? 突然のリストラでお得意さん困ったりしない? >>571 session.hash_function session.hash_bits_per_character の設定がどうなってるか教えてくれ。 >>577 ハッシュあるごりぐむが0(MD5)で区切り数が5ビットやね オレらプロのスキルアップのためにと思ってこのスレを覗いてみたんだけど、素人ばっかだな >>580 このコピペってさくらVPSスレが元? それよりも前からあんの? iphoneアプリ. Windowsアプリを売って生き残れ Ver 1.7 リンク数61 Http://qr. net/kh4y CentOS 7 (3.10.0-229.1.2.e17.x86-64) Apache 2.4.6 PHP 5.4.16 この環境で -rw-------. 1 apache apache test.csv $filename = "/var/www/html/test.csv" file_exists( $filename ); -> TRUE fileperms( $filename ); -> 0600 is_readable( $filename ); -> TRUE file_get_contents( $filename ); -> 読みだし成功 ---ここまではOK--- is_writable( $filename ); -> FALSE(失敗) file_put_contents( $filename , "HOGE", FILE_APPEND | LOCK_EX ); -> FLASE(失敗) 書き込みに失敗するのは何故? /var/tmp/ にファイルを移動したら書き込みが出来たけど 追記した差分は /var/tmp/systemd-private-hogehoge/tmp/ に保存され、オリジナルのファイルは変更出来なかった 新規ファイルも /var/tmp/ になら作れるのだけど実際には /var/tmp/systemd-private-hogehoge/tmp/ に作成されてしまう・・・ この挙動に付いて書かれたドキュメントってどこ見ればよいの? read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる