トップページphp
1001コメント271KB

【PHP】下らねぇ質問はID出して書き込みやがれ 99

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/10/13(水) 12:01:33ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 98
http://hibari.2ch.net/test/read.cgi/php/1284805237/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0320nobodyさん2010/10/18(月) 08:45:26ID:???
>>319
ブルーレイと東芝のDVDみたいなモンだろ。どっちのレコーダー買えばいいかみたいな
そりゃ欠陥ばっかりのモノより将来性のある方選んだほうがいい

俺はまだphpは未成熟で可能性としては未知数と思ってる
perlと比べると長ったらしくなるコードがphpだと物凄い短くなるし
0321nobodyさん2010/10/18(月) 09:43:13ID:???
>phpで調べてみると脆弱性とか修正できない問題が結構多いのですが
PHPが深刻な脆弱性を多々抱えてるわけではない
ではなぜそういうことが言われてるかというと
プログラムする人のコーディングミスによるセキュリティーホールが
PHPだと発生しやすいからだ
PHPに脆弱性があるんじゃなくて
作成したWebアプリケーションに脆弱性を発生させ易いのがPHPということ
ここらへんがPHPは初心者向けであって初心者向けでないと言われる所以
PHPが本当は内部処理で適切にコーディング内容を処理すればいいんだけど
ユーザ任せになってるところが問題なだけ
熟練者にもミスはつきものだが熟練者にとってはラピッド開発できる優秀な言語でもある
0322nobodyさん2010/10/18(月) 09:49:08ID:???
まずPHP自体が結構多く持つ脆弱性とか修正できない問題を知りたいのだが
0323nobodyさん2010/10/18(月) 09:49:25ID:fqdWguE4
現在、借りている鯖のPHPバージョンが5.1Xで、5.2を使いたいのですが
シェルログインに対応していません。
FTP等から、PHPのバージョンアップをしたりすることは可能でしょうか?
0324nobodyさん2010/10/18(月) 10:10:04ID:???
root権限じゃないと無理でしょ
鯖管にメールしてバージョン上げられるか交渉してみなよ
そこのレン鯖の新しいサーバで5.2に対応してるならそっちに引越しさせてもらうとか
0325nobodyさん2010/10/18(月) 11:56:56ID:???
PHPの脆弱性?
また小飼弾ちゃんが大騒ぎしてんのか?
0326nobodyさん2010/10/18(月) 12:23:33ID:???
そこはIPAだろ
0327nobodyさん2010/10/18(月) 12:24:00ID:???
自分の知識が足りないから起こるミスを言語のせいにしてるような情報は信じたらアカンよ
0328nobodyさん2010/10/18(月) 12:54:13ID:GNgSoasg
>>321
>>327
なるほど、そうなんでしたか
なんか調べてみると色んなところで言われてたので
0329nobodyさん2010/10/18(月) 12:59:10ID:???
どうやら調べた結果内容を教えてくれる気はなさそうだね
0330nobodyさん2010/10/18(月) 13:10:00ID:???
結構 php 脆弱性 でググると出てくるよ
個人のブログが多いけど
0331nobodyさん2010/10/18(月) 13:22:31ID:???
php 脆弱性でググった中から、
「これはユーザー(プログラマ)側ではどうしようもできねー、PHPという言語自体の問題だ」
というのを上げて欲しいですね。
0332nobodyさん2010/10/18(月) 13:47:45ID:???
>>331
さすがにそのレベルので放置はしないだろ。注意してないと引っかかる落とし穴レベルだと思う。

でも例えばぐぐって一番上に出てきた

ttp://wiki.ohgaki.net/index.php?PHP%2F%E8%84%86%E5%BC%B1%E6%80%A7%E3%83%AA%E3%82%B9%E3%83%88%2F%E3%83%A1%E3%83%A2

を見た感じでは知ってれば避けるのは簡単で、Cのバッファオーバーランみたいに知ってても
うっかりはまりそうというほど危険なレベルではないと思うな。
0333nobodyさん2010/10/18(月) 13:58:02ID:???
良い意味でも悪い意味でも
セキュリティ意識を高めて学ぶならPHPは最適ってことか
0334nobodyさん2010/10/18(月) 17:05:01ID:???
>>332
言語自体の脆弱性に分類されるようなものはこのリストに無いな・・全部使う側の問題
0335nobodyさん2010/10/18(月) 17:21:30ID:d6HCmNn9
docomoの携帯の種類によってはPCに接続する事で
PCからe-mobileのデータ端末を使用した場合と同様にネットを
する事が出来るという事なのですが、

仮にdocomo携帯でネットに接続した状態で
WEBサイトにアクセスした場合にサーバ側で取得したホストは、
(例えば2chに書込みを行った場合)

下記の様に通常のdocomo携帯からのアクセスと
同じ様になるのでしょうか?

proxy20077.docomo.ne.jp
DoCoMo/2.0 D903i(c100;TB;W23H16)
HOge0QoU

0336nobodyさん2010/10/18(月) 17:25:49ID:???
>>335
PHPと何の関係が?
0337nobodyさん2010/10/18(月) 17:27:49ID:d6HCmNn9
>>336
phpよりホスト等を取得するからです。
0338nobodyさん2010/10/18(月) 17:38:43ID:???
>>335
PCつかうとUserAgentはFirefoxとかIEになるけど
UserAgentやヘッダ(端末ID等)なんてPC使えばいくらでも偽造できる(成りすまし)からあまり当てにしないほうがいい
0339nobodyさん2010/10/18(月) 17:42:58ID:???
>>335
>下記の様に通常のdocomo携帯からのアクセスと
>同じ様になるのでしょうか?

結論からいうと、なりません。

一部のdocomoの携帯(スマートフォン)をPCに繋いでネットすることはできるけど、
その場合はmoperaに契約して繋ぐことになるのでホストはmoperaになります。
0340nobodyさん2010/10/18(月) 17:54:17ID:???
ソフトバンクは携帯ゲートウェイに接続できるよ
http://ke-tai.org/blog/2009/08/04/softbankgwpc/
0341nobodyさん2010/10/18(月) 18:06:51ID:???
>>338
docomoIDの事を知りたかったのです。

>>339
どうもありがとうございます。
疑問が解けました。

>>340
???という事は、PCを使用して携帯電話を操作する事が可能なのですね。
0342nobodyさん2010/10/18(月) 18:33:08ID:???
>>341
PCで、携帯を装ってアクセスできるってことでしょ
0343nobodyさん2010/10/18(月) 18:41:25ID:???
>>342
やりたい事は、例えばPCからdocomo携帯を装って
完全にdocomoIDが付与された状態で
特定WEBサイトにアクセスがしたいのですがこの様な事はやはり不可能なのでしょか?
0344nobodyさん2010/10/18(月) 18:43:12ID:???
>>343
やりたいと言われてもな
スレタイを音読するといいよ
0345nobodyさん2010/10/18(月) 18:46:21ID:???
自鯖なら適当にヘッダ付与して適当テストかませばいいじゃん
他鯖?まともなサービスならipとuidチェックでとおらねぇよ
0346nobodyさん2010/10/18(月) 18:48:59ID:???
どう考えてもろくなことをするつもりじゃないだろ
0347nobodyさん2010/10/18(月) 18:50:27ID:???
>>343
出来るけどここに質問するようなレベルだと無理だろう
http://takagi-hiromitsu.jp/diary/20100425.html
0348nobodyさん2010/10/18(月) 18:54:13ID:???
高木のサイトを誰か出すと思ったw
0349nobodyさん2010/10/18(月) 19:00:32ID:???
>>347
そこに質問をした覚えはありません。
何とかPCから完全に携帯を装ってアクセスしたいのです。

イメージとしてはPCブラウザから
したらば掲示板等のに書込みを行った場合に完全に携帯を装いたいです。
0350nobodyさん2010/10/18(月) 19:01:19ID:???
>>349
したいならすりゃいいって
誰も止めてないぞ
0351nobodyさん2010/10/18(月) 19:04:49ID:???
ここは質問できるスレであって、したいことをできるように初心者がちやほやしてもらえるスレではないからな
0352nobodyさん2010/10/18(月) 19:05:14ID:???
自演するので携帯でアクセスしてるように見せかけたいんです!みたいな動機っぽいな…
つーか高木ちゃんのページに書いてあるのに何で気づかないのやら…
結局は質問者のレベルが追っついてないだけ
0353nobodyさん2010/10/18(月) 19:10:51ID:???
>>349の傲慢そうな雰囲気からして自分擁護レスとかやりたいんだろうなって感じがするなw
0354nobodyさん2010/10/18(月) 22:17:31ID:???
>>349
横レス(おいらPHPはよくわからんけど)。

んー、SOCKET使えばできるかも?
でも、高木先生の記事を読んだ限り、
キャリアのプロキシとしたらばの実装次第かな。

というか、phpのスレで聞くような話じゃない気も。
0355nobodyさん2010/10/18(月) 22:26:51ID:???
ある程度巨大なWEBシステムになる事が予想されるんですが、

開発言語として

ASP.net or PHP どちらかにしようと思っています。


実際の運用フェーズに入ったらPHPの方がコストが大分安いのですが、
メンテナンス制を考慮するとASP.netだと思いますが

どちらの方が良いでしょうか?


0356nobodyさん2010/10/18(月) 22:36:02ID:???
>>355
スレタイも>>1も読まない時点で前途多難と思われる
0357nobodyさん2010/10/18(月) 22:36:21ID:???
>>355
スレの質問ルールも守れないようなやつがなにを作れるってんだよ
0358nobodyさん2010/10/18(月) 22:40:39ID:???
猫大好きスレで猫と犬どっち飼いましょうかって聞くくらい不毛な質問
0359nobodyさん2010/10/18(月) 22:41:18ID:???
関係ないけど他スレで見つけたこれが面白かった
PHPでtail
http://webcache.googleusercontent.com/search?q=cache:dnttU-m6FJMJ:okyuu.com/ja/question/6880+php+tail&cd=3&hl=ja&ct=clnk&gl=jp
0360nobodyさん2010/10/18(月) 22:57:25ID:???
>>358
うまいなwその通りだw
0361nobodyさん2010/10/18(月) 23:15:57ID:???
>>359
それならこれも便利
これでアプリのログとかapacheのログを表示させるようにすると、開発しやすくなる
俺はログの種類・更新間隔・表示行数を指定できるように改造した。

http://techblog.ecstudio.jp/tech-tips/phptail.html
0362nobodyさん2010/10/18(月) 23:16:38ID:???
このスレってPHP大好きスレだったんだ PHP質問スレだと思ってた
0363nobodyさん2010/10/18(月) 23:21:14ID:???
>>361
コンソールでは何でだめなん?
0364nobodyさん2010/10/19(火) 05:37:10ID:???
>>362
猫スレじゃない(猫がたとえ)ってことが理解できて
大好きスレじゃない(大好きがたとえ)ってことが理解できない理由がわからん
0365nobodyさん2010/10/19(火) 07:16:26ID:???
>>364
それは文脈に起因します。
「どちらの方が良いでしょうか?」という質問に対して「大好き」という回答は
関連が強過ぎるため直接表現と捉えられても仕方がありません。
比喩表現としては十中八九失敗するでしょう。
現にここでは失敗しています。
0366nobodyさん2010/10/19(火) 09:25:08ID:???
ネット社会では
比喩表現1行レス == 荒らし
0367nobodyさん2010/10/19(火) 09:43:09ID:???
>>363
いつもはLinux/Apacheなんだけど、今回windows/IISでコンソールも提供されない状況での開発してて
IISのログはFTPで持ってくる方法しか提示されてなかったので
>>361の奴を探してきて、自分用に改良した。

作業用マシンがwindowsでサーバがLinuxの場合でも、sshで接続してtailでログ見るより
ブラウザ上で見られた方がteratermなどを起動させなくていいので余計なソフトが一つ減るのと
Linuxが苦手な若手が操作ミスするリスクを減らせて良いかなと

余談だけど>>361の奴はfirefoxのサイドバーに表示させてる。
0368nobodyさん2010/10/19(火) 10:12:02ID:???
>>365
ぶつぶつ不満いってんのはおまえさんだけみたいだが
0369nobodyさん2010/10/19(火) 10:32:32ID:???
今更なんですが
DB(MySQL)がutf-8の場合、
phpスクリプトファイル自体もutf-8文字コードで作成しないといけないですよね?

私の使っているIDEが新規スクリプトファイルを追加すると
自動でsjisになってしまう為ご質問させて頂きました。
0370nobodyさん2010/10/19(火) 10:34:50ID:???
いいえ
0371nobodyさん2010/10/19(火) 11:00:59ID:???
特に理由がなければ同じ文字コードにした方が楽。
どうしても別の文字コードになる場合
(PHP)
mssql_query("set names 'utf8'");
mb_internal_encoding("UTF8");
mb_http_output("UTF8");
$str = mb_convert_encoding($str,'SJIS','UTF8');
(HTML)
<meta HTTP-EQUIV="Content-type" CONTENT="text/html; CHARSET=UTF-8">
らへんを適宜使う
0372nobodyさん2010/10/19(火) 11:03:23ID:???
>>371
どうもありがとうございました。文字コードをそろえます。


※以前に作ったサイトの文字コード選定で sjis を選択してしまい
激しく後悔したので今度からはutf-8に統一したいと思います。
0373nobodyさん2010/10/19(火) 11:24:43ID:???
htmlファイルをすべてutf-8に直すプログラム作れば簡単っすよ
0374nobodyさん2010/10/19(火) 13:16:18ID:???
sageてるやつにえらく親切だな
0375nobodyさん2010/10/19(火) 13:56:16ID:5WEhDG4j
>>349

無理じゃね?
PC使って携帯ブラウザが利用するIPアドレス帯通してアクセスする方法あるんか?
0376nobodyさん2010/10/19(火) 13:59:59ID:???
.>>375
だからそれを聞いてんだろーが。
0377nobodyさん2010/10/19(火) 14:03:12ID:Uiw+alOC
名前の投稿について質問なのですが

$name = htmlspecialchars($_POST['name']);
if (!$name) $name = "名前がありません";

とあるのですが、!$nameの所がちょっとよくわかりません
'name'に何も書き込まれて無かったら名前がありませんになるという事はカンでわかるのですが
なぜ否定の!と$nameの変数を続けただけでそうなるのでしょうか?

!$nameじゃ$nameじゃないっていうよくわからないモノになってしまう気がしまいます
0378nobodyさん2010/10/19(火) 14:04:19ID:???
isset使え
0379nobodyさん2010/10/19(火) 14:13:07ID:???
びっぐいしゅー
0380nobodyさん2010/10/19(火) 14:17:28ID:???
>>375
ただ単に不正にいろいろやりたいことがあるんだろ
たとえばランキング荒らしとか、IP制限されてるサイトのソースをみたりとか
0381nobodyさん2010/10/19(火) 14:19:24ID:???
>>377
String型の$nameをboolで評価してるだけ
http://php.net/manual/ja/types.comparisons.php
if (!$name)で
$nameがfalseだったらという意味になる
0382nobodyさん2010/10/19(火) 14:19:53ID:???
>>380
脆弱性をボランティアで検査してあげたいだけだよ
0383nobodyさん2010/10/19(火) 14:22:58ID:???
>>381
なるほど、ありがとうございます!
0384nobodyさん2010/10/19(火) 14:30:04ID:Uiw+alOC
>>381
あ、すみません確認なんですけどソレって
if($bool)[ 処理1 ]
だとtrueのときに処理1が実行されて
if(!$bool)[ 処理2 ]
だとfalseのときに処理2が実行されるという事でいいんですよね?

>>383で名前欄出さなくてすんません
0385nobodyさん2010/10/19(火) 14:32:30ID:???
>>384
そう

if ($name)は
if ((boolean)$name == true)と同じ

if (!$name)は
if ((boolean)$name == false)と同じ
0386nobodyさん2010/10/19(火) 14:36:57ID:Uiw+alOC
>>385
丁寧にありがとうございます!超助かりました!
0387nobodyさん2010/10/19(火) 18:56:15ID:???
>>384
if($foo)って書き方は
とにかくサブミットされたなら、ってときとかによく使う書き方だから覚えてて損はないよ
0388nobodyさん2010/10/19(火) 19:22:41ID:???
>>387
混乱するだけだから変な説明すんなや
$fooが何かによるでしょうに
if ($_POST)ならまだわかるけど
0389nobodyさん2010/10/19(火) 19:31:48ID:???
empty使うんじゃないのか
0390nobodyさん2010/10/19(火) 19:50:19ID:???
その変は挙動を把握できるならどれでもいいと思うよ
issetでもis_xxxでも
0391nobodyさん2010/10/19(火) 21:01:55ID:???
>>388
こんなことで混乱するとか耐性なさすぎじゃまいか
0392nobodyさん2010/10/19(火) 21:20:19ID:???
言えてる。これくらいで混乱するからマニュアル読んでも理解できないんだろう。
http://php.net/manual/ja/types.comparisons.php
に書かれてるif($x)と同じなのにね。
0393nobodyさん2010/10/19(火) 21:28:57ID:???
>とにかくサブミットされたなら、ってときとかによく使う
ここが変
サブミットされた値って書けば通じるけど
0394nobodyさん2010/10/19(火) 21:57:35ID:???
>>393はなにを言ってるんだ?
$typeがsendなら、とかじゃなくてとにかくフォームから送信されたデータがあったらこの処理をする、ってことだろ?
なんもおかしくないじゃん
0395nobodyさん2010/10/19(火) 22:03:13ID:???
== != しか知らないと、($hoge)とか(!$hoge)とか見慣れなくて不自然なんだろうな
TRUEなら(FALSEなら)ってのは使い出すと勝手はよいのに
0396nobodyさん2010/10/19(火) 22:06:23ID:???
>>394
>フォームから送信されたデータがあったら
こういうことを言ってるんですが
サブミットされたという表現だと
actionをうけたらという意味になるからおかしいと言ってるの
実際に値がなくてもね
<form method="post" action="foo.php">
<input type="submit">
</form>
0397nobodyさん2010/10/19(火) 22:07:53ID:???
== === に見慣れてるせいで
MDB2のwhereの`foo` = 'bar'は何度書いても違和感があるわ
0398nobodyさん2010/10/19(火) 22:08:23ID:???
今時MDB2なんて使ってるやつはいねえですよ
0399nobodyさん2010/10/19(火) 22:09:11ID:???
>>396
そこまで屁理屈をこねる人が選択する言語じゃないと思ってたけど()笑
0400nobodyさん2010/10/19(火) 22:10:40ID:???
どこが屁理屈なんだ・・・
サブミットって単なるトリガーなんですが
勝手に単語作ってオナニーしないでもらえるかな
正しく意味が通じるように言えないなら黙っときなよ
0401nobodyさん2010/10/19(火) 22:11:01ID:???
>>398
今時は何を使うの?
0402nobodyさん2010/10/19(火) 22:12:13ID:???
PECL: PDO
0403nobodyさん2010/10/19(火) 22:12:59ID:???
>>400
ブラウザとじて深呼吸してこい
いらいらすんのは体によくねえぞ
0404nobodyさん2010/10/19(火) 22:15:12ID:???
>>403
イライラしてないし
反論できなくなるとそらすんだね
0405nobodyさん2010/10/19(火) 22:17:30ID:???
某氏が提唱するようなフォームって実際作る意味あるんかな
サブミットするってsubmitボタンを押すって意味で解釈するなら値が空もありえる(理論的にありえても現実的にありえない?)としても、submitって言葉の意味なら「値を渡すこと」と解釈するのが妥当だと思うんだけどな
こんなこといったら噛みつかれちゃうかなw
0406nobodyさん2010/10/19(火) 22:19:52ID:???
>>387は「サブミットされたら」って言ってて、「inputのtypesubmitをクリックしたら」って言ってなくねい?
0407nobodyさん2010/10/19(火) 22:21:35ID:???
屁理屈言ってないと正気を保てない人ってまれにいるよな
0408nobodyさん2010/10/19(火) 22:22:40ID:???
サブミットされたらだと>>396のコードや>>405の指摘通り
なんもない場合も考えられる
それを屁理屈というかいわないか

という話ですね
0409nobodyさん2010/10/19(火) 22:24:30ID:???
>>407
言い返せないと屁理屈の一点か
誤解をうむ言い方をするなという指摘を素直に受けれないわけ?
0410nobodyさん2010/10/19(火) 23:26:30ID:???
値がどうとかは関係なしに、>>396の指摘はあながち間違ってないと思う。
値を受けた処理だけじゃなく、actionを受けた時点での処理も存在するからね。
例えば同一ページに2つフォームがあって、同じ場所にactionする場合とか。
2つのフォームのメソッドはそれぞれPOSTとGETになっていて、
どちらかで処理を分けたい時なんかは、
if ($_POST)
if ($_GET)
で分けたりもするから。
設計を変えろだのそういう話は置いといて、そういう書き方してる人がいるのも事実。
0411nobodyさん2010/10/19(火) 23:26:51ID:???
>>367
詳細ありがとう
エラーをログに吐かせて確認する時とか便利そうだね
今度デバッグの時に使ってみよう
0412nobodyさん2010/10/19(火) 23:31:00ID:???
>>405
ラジオボタンで未チェックなら値は渡ってこないから
値が空は普通にあるよ

その場合、isset等を使わず $_POST['radio'] (←ラジオボタンだとして)をそのまま使えばNOTICEがでる
0413nobodyさん2010/10/19(火) 23:38:08ID:???
普通にMDB2を使ってるが。
0414nobodyさん2010/10/19(火) 23:40:21ID:???
ラジオボタンだとするとname属性の値がradioなのかw
0415nobodyさん2010/10/19(火) 23:45:05ID:???
イミフなツッコミ
0416nobodyさん2010/10/19(火) 23:56:27ID:???
そりゃ分かってたら書かないもんな
0417nobodyさん2010/10/20(水) 00:02:21ID:???
typeの値がradioに決まっとろう
nameをradioしたのは説明上の理由にきまっとろう
0418nobodyさん2010/10/20(水) 00:10:19ID:???
PHPは入力フォームの種類まで受け取れるのか、の方が良かったか
0419nobodyさん2010/10/20(水) 00:42:00ID:goWML+Iz
悲しみのradio
■ このスレッドは過去ログ倉庫に格納されています