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

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

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

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
07567552012/01/13(金) 03:40:02.10ID:???
>>753
補足だけど、5.1系のセマフォがバグありだったから気をつけて。
いまさらあえて5.1使うこともないだろうけど、割と最近のRHELまでは5.1系だった気がするので遭遇することもあるかもしれない
0757nobodyさん2012/01/13(金) 03:52:09.82ID:???
>>755
あなたの言うように、
forkとストリームソケット使えば「遊び程度」ではどうにかなるだろうね。

しかし、商売用には素直にマルチドレッド言語を使ったほうがいい。
デフォルトで並行できるので開発スピードとパフォーマンスが
「圧倒的に」優れる。forkくんの質問と回答のあまりの馬鹿馬鹿しさに
気持ち悪い。
0758nobodyさん2012/01/13(金) 04:15:10.88ID:???
PHPで並行処理が無理だというから、それの返事だったんだが、並行処理はできるけど遊び程度だという風に話をずらされても困る

パフォーマンスについてはまったくもってそのとおり。ただ、それらを同じ土俵にあげること自体が間違えているよね。
開発スピードについては比較対象に依存する。マルチプロセス処理を記述する場合に圧倒的に開発スピードが優れる言語は何?
マルチスレッド言語とやらが何を指しているのかわからないが、たとえばCLRで提供されているワーカースレッドのようなものを指している?

ちょっと内容が漠然としているように思うよ。
0759nobodyさん2012/01/13(金) 09:09:47.21ID:???
当たり前話を、ドヤ顔で言ってて恥ずかしくない上に、気持ち悪いとか言ってる人がいるよ。
0760nobodyさん2012/01/13(金) 09:19:15.93ID:???
phpでできないこともあるんだね〜。
0761nobodyさん2012/01/13(金) 09:21:03.11ID:1Ih2hdXs
新規にポータルサイトを開発しようと思ってます。
管理機能とかもついてます。
作成の仕方として以下の3つの方法が浮かびました。

フレームワークを使って作成する。(codeigniter)
CMSを使って作成する。(MT or WP)
フレームワークにCMSプラグインを入れて作成する。

どれがいいでしょうか?
0762nobodyさん2012/01/13(金) 09:21:55.46ID:???
好きにしろ
0763nobodyさん2012/01/13(金) 11:33:36.37ID:???
CMSは非プログラマ向けで、FWはプログラマ向けなだけなの。
悩むほどの話じゃないし、どれつかえばいいかえらべないならけんさくしていちばんうえつかえばいいだけ
0764nobodyさん2012/01/13(金) 13:32:56.37ID:???
>>757
07655872012/01/13(金) 16:04:33.77ID:???
皆さんレス、本当にありがとうございます。
しばらく勉強して、なんとか14日以前の日付を10日前で表示するところまで辿り着いてきましたが、なぜか1969年になってしまいます。。

$ptimeはUNIXTIMEではなく1323413498等という数字が入っているのですが、
これを一度UNIXTIMEにするには、どのように記述すればいいでしょうか?
ここがうまくいけば、なんとかなりそうです。
よろしくお願いしますm(_ _)m


↓年だけおかしくなっている現状です。
$post_date = date("y/m/d", $ptime);
$limit = 60 * 60 * 24 * 14; // 過去14日よりも前のものだった場合、
if($_SERVER['REQUEST_TIME'] - $post_date > $limit) {
$post_date -= 60 * 60 * 24 * 10; // 表示は10日前の日付にする。
}
$date = date(y/'m/d', $post_date);

※$dateで表示させています。
07665872012/01/13(金) 16:09:06.03ID:???
↑
すいません、よく確認したら、表示されている日付が20日ぐらい前になっていました(^^;
とりあえず$ptimeはUNIXTIMEにすれば解決できるのかと思います。
度々すいませんが、よろしくお願いします。。
0767nobodyさん2012/01/13(金) 16:20:08.93ID:???
なんか面倒な事してるな
俺はこっち使ってる

strtotime("- 10 day",time())
0768nobodyさん2012/01/13(金) 16:32:32.90ID:???
12日前のは12日前と表示されることになるだろうけど、それも含めて特殊な事情?
07697652012/01/13(金) 17:03:53.19ID:???
はい、特殊な事情で、13日以前は、そのままで大丈夫なんです。(^_^)
07707652012/01/13(金) 17:05:44.03ID:???
>>767
その記述だと、全体的にかわりますか??(^_^;)
0771nobodyさん2012/01/13(金) 17:16:23.09ID:???
>>770
意味がよく解らん
0772nobodyさん2012/01/13(金) 17:16:32.15ID:???

$_SERVER['REQUEST_TIME'] - $ptime じゃねーの?
んで、 $ptime -= 60 * 60 * 24 * 10;
$date = date(y/'m/d', $ptime);
0773nobodyさん2012/01/13(金) 18:13:51.83ID:f/pZY+bx
すみません。質問お願いします。
smarty + pear::pager を使って、情報検索を作っています。
文字コードはUTF-8
携帯用なので、session.use_trans_sid = 1 にしてURLでセッション管理をしていますが、
PHPSESSIDが正しく付かない時があります。

{foreach item=row from=$List}
・・・
<a href="detail.php?ID={$row.ID}">詳細へ</a></p>
・・・
{/foreach}

で1ページ10行ぐらい表示するのですが、
10行に1行ぐらいの割合で
<a href="detail.php?ID=005&PHPSESSID=○○○">となるはずが、
<a href="detail.php?ID=005"?PHPSESSID=○○○>となってしまい、
正しくリンクされません。

検索内容によって10行目だったり、5行目だったりと
規則性が無くなぜこうなっているかわかりません。
すみませんが、よろしくお願いいたします。
0774nobodyさん2012/01/13(金) 20:50:42.78ID:???
$Listをvar_dumpしてみれば?
0775nobodyさん2012/01/13(金) 21:03:38.69ID:f/pZY+bx
>>774  レスありがとうございます。

var_dumpすると IDは通常の数字で int(5) 等です。
List.IDには特に問題ないようです。

あと、var_dumpしただけで問題の症状が10行目だったのが18行目に変わったりしてます。

なんでなんだろ・・・?
0776nobodyさん2012/01/13(金) 21:13:20.06ID:???
また謎なこと言ってるな
foreachしてるその配列をdumpして問題ないか確認しろってことでしょ
IDは問題ないようです、とか意味がわからん

foreachから/foreachまでの記述に問題がないならそのループさせてる配列以外問題になる箇所ないじゃん
そして配列がおかしかったらその配列を作ってるロジックがおかしいって特定できるでしょ
0777nobodyさん2012/01/13(金) 21:16:34.52ID:???
&を&と書いてみてくれ
0778nobodyさん2012/01/13(金) 21:17:17.58ID:???
&を&&と書いてみてくれ
0779nobodyさん2012/01/13(金) 21:18:59.91ID:???
&を&amp;(半角)と書いてみてくれ
0780nobodyさん2012/01/13(金) 21:19:28.62ID:???
&amp;(半角)
0781nobodyさん2012/01/13(金) 21:19:36.98ID:???
あ、まて
SESSION IDを自動的にリンクに付加するようになってるのか
それ、自動でやらせないでアプリケーション側で実装したほうがいいぞ
それが解決策になる
0782nobodyさん2012/01/13(金) 21:19:55.03ID:???
あ、まて
SESSION IDを自動的にリンクに付加するようになってるのか
それ、自動でやらせないでアプリケーション側で実装したほうがいいぞ
それが解決策になる
0783nobodyさん2012/01/13(金) 21:33:35.56ID:???
使用するデータの型は同じで特に問題はないのに
自動付加するにせよ特定の箇所だけおかしくなるってのは考えられないね
確率や回数で処理を変えるとか妙なことやってない限り

><a href="detail.php?ID=005"?PHPSESSID=○○○>
こうなるのも謎
最悪>の前に"が入るよね
{$row}"{ID}としてるわけじゃないし
0784nobodyさん2012/01/13(金) 21:40:01.56ID:???
&amp;(半角)バカスw
0785nobodyさん2012/01/13(金) 21:52:49.63ID:???
>>779
&を&amp;にしてくれっていいたいのか?
0786nobodyさん2012/01/13(金) 22:04:24.28ID:???
みなまで言わんでいいです
0787nobodyさん2012/01/13(金) 22:51:52.05ID:WYF6z6mt
PECLにmemcacheとmemcachedって2つあるようですが、
これらの違いはなんなんでしょうか?
Web上ではmemcacheの方が記述が多いので利用されているんだと思うのですが、
具体的な性能の違いとかあったら教えて頂きたいです
0788nobodyさん2012/01/13(金) 22:55:30.59ID:???
http://ja.wikipedia.org/wiki/Memcached
これ見てわからないならわからなくていいと思う
0789nobodyさん2012/01/13(金) 23:10:15.21ID:???
>>788
http://pecl.php.net/package/memcache
http://pecl.php.net/package/memcached
この違いがわからんって言ってることもわからないのに何でレスしたの?
0790nobodyさん2012/01/13(金) 23:15:11.59ID:???
>>789
http://jp2.php.net/manual/ja/book.memcached.php
http://jp2.php.net/manual/ja/book.memcache.php
マニュアルを見ろ
0791nobodyさん2012/01/13(金) 23:33:17.87ID:???
>>790
For those confuse about the memcached extension and the memcache extension, the short story is that both of them are clients of memcached server, and the memcached extension offer more features than the memcache extension.
せめてここ貼ってやれよ。
0792nobodyさん2012/01/13(金) 23:34:47.49ID:???
まぁユーザノートは主観だけどね
でも俺もその意見には同意する
0793nobodyさん2012/01/13(金) 23:39:13.44ID:???
>>787
一般的に皆memcacheの方を使ってるはずだ
そうだろ?
0794nobodyさん2012/01/13(金) 23:44:36.38ID:???
いや待て
memcachedよりAPCだろ
APCの方が高速だし
PHP使いはmemcachedよりAPCのはずだ
0795nobodyさん2012/01/13(金) 23:48:47.35ID:???
なんでAPCと比較したんだろ
0796nobodyさん2012/01/13(金) 23:51:38.80ID:???
KVSとしての側面ももってるから。
てかしらないならレスすんなよもう
0797nobodyさん2012/01/13(金) 23:52:14.87ID:???
>>795
前俺も記事見たことあるよ
この2つを比較してるやつ

まぁ高速化の意味だと思うけど
0798nobodyさん2012/01/13(金) 23:53:58.78ID:???
>>795
そりゃするっしょ
0799nobodyさん2012/01/14(土) 00:00:14.19ID:???
>>752
答えたかったけど、俺知らないし
PHPerはその手の知識持ってる人は少ないんじゃない?
Webコンテンツは作れても、そういうこと作る機会ってないだろうから
0800nobodyさん2012/01/14(土) 00:04:38.50ID:???
memcachedやAPCが必要なほどのシステムを組んでるのか?
一般人が使う分にはヒープでいいだろ
0801nobodyさん2012/01/14(土) 00:43:40.46ID:???
APCのほうがお手軽だしAPCで十分だな
ロードバランサなんかでアプリケーションサーバを冗長化してる場合とか
どのマシンに振られるかわからない時はキャッシュサーバーとしてmemcachedだな
1回目のアクセスはAサーバ2回目のサクセスはBサーバとかなるとキャッシュ見失うからな
ほとんど場合は1台で動かしてるんだろうしAPCつことけばいいでしょ
0802nobodyさん2012/01/14(土) 03:22:42.53ID:???
>>801
分散オブジェクトは使わないのですか?
「どのマシンに振られるかわからない」とか考える必要ないので
使ったほういいですよ。
0803nobodyさん2012/01/14(土) 03:36:04.89ID:???
新キャラ 分散オブジェクト厨
0804nobodyさん2012/01/14(土) 03:42:32.66ID:???
>>803
PHPにできないことはないよな?
0805nobodyさん2012/01/14(土) 03:44:32.87ID:???
>>804
そうなの?
0806nobodyさん2012/01/14(土) 03:47:56.21ID:???
>>801
性能の悪いアプリケーションサーバーですね。
キャッシュもできないのですか?
何を使ってらっしゃるのですか?
0807nobodyさん2012/01/14(土) 03:52:09.70ID:???
おまえはいいから早く吊れよ
人生詰んでるのに往生際悪すぎだぞ
0808nobodyさん2012/01/14(土) 03:58:18.68ID:???
朝までがんばれ
0809nobodyさん2012/01/14(土) 04:00:09.04ID:???
>>805
そう。現在、PHPでC言語を実装するプロジェクトが
このスレで始まった。君も参加するかい?

>>807
負け犬みたいだね
0810nobodyさん2012/01/14(土) 04:01:20.83ID:???
>>806
あおってるつもりの内容が的外れなのはわざとなの?それだけ教えてほしい
0811nobodyさん2012/01/14(土) 04:02:44.94ID:???
>>809
JavaScriptで動くOSを参考にしてみたらどうだい
0812nobodyさん2012/01/14(土) 04:17:27.23ID:???
>>810
あおるつもりもなく、本気だよ。

>>811
ありがとう。

最初の目標はPHPでC言語を実装すること。

2番目の目標はPHPで実装したC言語(最初の目標)でさらに
PHPを実装すること。

3番目の目標は、PHPで実装したC言語(最初)でさらに実装した
PHP(2番目)でさらにC言語を実装すること。

4番目の目標は3番目で実装あれたC言語でJava仮想マシンを作ること。
0813nobodyさん2012/01/14(土) 04:50:23.67ID:???
かまってちゃんウザイ
ブログの宣伝1度だけ許してやるから消えてくれ
0814nobodyさん2012/01/14(土) 09:07:04.64ID:???
>>812
コテハンつけてくれNGするから
0815nobodyさん2012/01/14(土) 10:46:42.03ID:???
>>801
はぁ? ということは
phpって分散トランザクションもできないの?
終わっているね・・・
0816nobodyさん2012/01/14(土) 10:54:24.51ID:???
さっさと吊れ
0817nobodyさん2012/01/14(土) 15:14:15.26ID:???
まぁ端から静観してる俺にとっては最近の話題は面白いけどね
CMSかFWかどっちがいいかのようなものから、セッションがどうたらとかよりも
fork()だとかAPCとかやや上のレベルの話題だからね

CMSとかFWとかそこそこハックしてきたけど、まずfork()なんてお目にかからないからね
まぁ、当たり前ではあるけれど
memcachedは簡単な実装は見かけたけど、APCは見たことないと思う
0818nobodyさん2012/01/14(土) 16:43:56.71ID:???
>>817
フレームワークを使ってバッチ処理を書くときに役立つかもよ
08195872012/01/14(土) 17:30:34.28ID:???
みなさんレスをありがとうございます。
根本的に私の説明不足すぎでした。
そのために度々スレを使ってしまい、すいませんでした。

▼大元の相談内容
掲示板等で、$dateを使って日付を表示させているのですが、
特殊な事情があって、過去14日よりも前のものだった場合、
表示は10日前で表示したいのです。

例:1月1日投稿されたもの→5日に閲覧した場合は、そのまま投稿日時は1月1日。20日に閲覧すると投稿日時は1月10日で表示される。

▼現状
$date = date("y/m/d", $ptime); // $ptime はUNIXTIME (1323413498等という形で保存されています)

echo <<<EOM で $date を記述して日付(2011/12/22等という形)を表示しています。

私が勉強不足のため、皆さんのレスを参考にしていじっていたら、ごちゃごちゃになってしまいました(^^;
単純に UNIXTIMEである$ptimeを相談内容の処理をして$dateとして日付を表示できるようにする記述を再度教えていただけると助かります。
すいませんが、よろしくお願いしますm(_ _)m
0820nobodyさん2012/01/14(土) 17:52:08.46ID:???
日付が14日よりも前かどうかの判断をしたい
10日前の日付を取得したい

というだけだと思うんだけど。
0821nobodyさん2012/01/14(土) 18:27:08.83ID:???
どうせSEO対策だろ。
0822nobodyさん2012/01/14(土) 18:43:08.04ID:???
1万人くらい使う掲示板を作りたいと思います
0823nobodyさん2012/01/14(土) 18:45:55.07ID:???
10万犬くらい使う掲示板を作りたいと思います
0824nobodyさん2012/01/14(土) 18:47:59.92ID:???
>>821
またおまえか
0825nobodyさん2012/01/15(日) 00:09:47.66ID:0R9yJU6W
分散オブジェクトを作りたいと思います。
08268192012/01/15(日) 04:06:00.99ID:???
>>820
レスありがとうございます。
そうなんですよね。。
UNIXTIMEが、ごっちゃになってしまって、恥ずかしながら私の初歩的な知識では??になってしまいまして。
小さなお店のホームページをやっているのですが、写真をメールで載せるphpがありまして、
度々の更新ができない時にも日付だけフォローできるようにしたいのです。
0827nobodyさん2012/01/15(日) 04:25:58.50ID:???
ID出せ
0828nobodyさん2012/01/15(日) 04:45:42.13ID:???
要するに客を騙したいってことだな
0829nobodyさん2012/01/15(日) 11:18:33.29ID:5+piCYsS
質問です。googleにphpプログラムでサインインするにはどうすればいいでしょう?
https://accounts.google.com/ServiceLogin?service=mail

phpプログラムにあらかじめEmail(ID)とパスをべた書きしておき、
submitボタンを押すだけでサインインできるようになるのが理想です
0830nobodyさん2012/01/15(日) 11:25:08.31ID:5+piCYsS
>>829の続きですが、
クッキー「accounts.google.com」の「GALX」の値がクセモノで、
このアクセスするたびに変わる値がサインイン時に必要なのですが、
この値の制御という利用の仕方がうまくいかず、どうしてもサインイン
できません
0831nobodyさん2012/01/15(日) 11:32:23.84ID:5+piCYsS
×この値の制御という利用の仕方がうまくいかず
○この値の制御というか利用の仕方がうまくいかず
0832nobodyさん2012/01/15(日) 12:06:48.67ID:???
>submitボタンを押すだけでサインインできるようになるのが理想です
いろいろやばいだろ
クライアント(自分のPCにApache入れる)ならともかくサーバじゃやらんほうがいいぞ
でクライアントだと普通にブラウザのオートコンプリートでよくね?となるわけだが
もしサーバでやるとしたらフィッシング詐欺幇助になるので教えてあげない
0833nobodyさん2012/01/15(日) 12:08:42.54ID:???
>>829
OAuth使え。登録してキーもらって
0834nobodyさん2012/01/15(日) 12:29:20.57ID:???
クッキーが必要なんだったら普通にブラウザと同じように対話式でやり取りすりゃいいんじゃないの
方法はググったほうが確実に早い
0835nobodyさん2012/01/15(日) 12:34:59.06ID:5+piCYsS
>>832
外部からはアクセスできない自分のPC+Apacheの環境で使います。
さすがにレン鯖等、インターネットで不特定多数に公開しているところには置きません。

>オートコンプリート
>OAuth
GMailのアカウントが5つぐらいあるんですよ。
本アド、サイトを2つ運営していてその連絡用アド、他、実家連絡用。
いちいちWebブラウザにID入れるの面倒だし、メーラー使うと
誰かがPCをいじった時に簡単に読まれてしまう。
だから(普通の人はまさかPCにApche+phpが入っているとは思わないだろうから)
自分だけわかるphpで簡単に複数アドにアクセスしたいな、と。
0836nobodyさん2012/01/15(日) 12:45:04.85ID:5+piCYsS
phpプログラムは好きで初心者ながらちょくちょく作ってるんです。
ただ、クッキーが必要なプログラムは今までその必要がなかったから作ったことが無い。
だからクッキーは苦手・わからないんです。

で、ちょっと作ってみたのがこれです。急ごしらえで下手ですが。。
(作った当時はクッキーが必要だと思わなかったのでPOSTのみで作ろうとしていました)↓
0837nobodyさん2012/01/15(日) 12:47:26.29ID:5+piCYsS
<?php

$a=file_get_contents("http://accounts.google.com/ServiceLogin?service=mail");
preg_match("/name=\"GALX\"[^v]+value=\"[^\"]+\"/is",$a,$match);
$match[0] = ereg_replace("name=\"GALX\"[^v]+value=\"", "", $match[0]);
$match[0] = ereg_replace("\"$", "", $match[0]);

$test='
<!DOCTYPE html>
<html lang="ja"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>Google サインイン</title>
</head>
<body>
<form id="gaia_loginform" action="https://accounts.google.com/ServiceLoginAuth" method="post" name="a" id="a">
<input type="hidden" name="continue" id="continue" value="http://www.google.co.jp/">
<input type="hidden" name="hl" id="hl" value="ja">
<input type="hidden" name="GALX" value="'.$match[0].'">
<input type="hidden" id="pstMsg" name="pstMsg" value="1">
<input type="hidden" spellcheck="false" name="Email" id="Email" value="ここにID">
<input type="hidden" name="Passwd" id="Passwd" value="ここにパス">
<input type="submit" class="g-button g-button-submit" name="signIn" id="signIn" value="アカaサインイン">
<input type="checkbox" name="PersistentCookie" id="PersistentCookie" value="yes" checked="checked">
0838nobodyさん2012/01/15(日) 12:48:13.43ID:???
5つのアドを一箇所でうければいいだけじゃね
gmailは複数アドを統合できるじゃん
0839nobodyさん2012/01/15(日) 12:48:23.76ID:5+piCYsS
</form>

<form id="gaia_loginform" action="https://accounts.google.com/ServiceLoginAuth" method="post" name="b" id="b">
<input type="hidden" name="continue" id="continue" value="http://www.google.co.jp/">
<input type="hidden" name="hl" id="hl" value="ja">
<input type="hidden" name="GALX" value="'.$match[0].'">
<input type="hidden" id="pstMsg" name="pstMsg" value="1">
<input type="hidden" spellcheck="false" name="Email" id="Email" value="ここにID">
<input type="hidden" name="Passwd" id="Passwd" value="ここにパス">
<input type="submit" class="g-button g-button-submit" name="signIn" id="signIn" value="アカbサインイン">
<input type="checkbox" name="PersistentCookie" id="PersistentCookie" value="yes" checked="checked">
<input type="hidden" name="rmShown" value="1">
</form>

</body></html>
';

exit($test);
0840nobodyさん2012/01/15(日) 12:50:58.88ID:???
>>838
>gmailは複数アドを統合できるじゃん
そういえばそうか!
わざわざphpでアクセスしないでそうすればいいのか(汗
0841nobodyさん2012/01/15(日) 12:51:08.49ID:???
そもそも外部のフォームからのPOSTでログイン受け付けてくれるのか疑問
それを弾くくらいのセキュリティ対策はしてありそうだけど
0842nobodyさん2012/01/15(日) 12:59:11.49ID:???
googleさんつよすぎわろた
0843nobodyさん2012/01/15(日) 12:59:28.34ID:5+piCYsS
>>841
>外部のフォームからのPOSTでログイン受け付けてくれるのか疑問
自分は楽天でショッピングするのですが、楽天(https)だとPOSTで大丈夫なんですよ。
それ用のサインインphpプログラムも作りましたし・・・。
だからGMailサインインphpプログラムも楽天サインインphpプログラムと
同じindex.phpページにまとめて、1つのindex.phpページからなんにでもサインインできる、
そんな index.phpページを作ろうと思っていたのです
0844nobodyさん2012/01/15(日) 13:21:27.83ID:5+piCYsS
ちなみに>>837,>>839の「class="g-button g-button-submit" 」は不要です。

Googleの元ページ( http://accounts.google.com/ServiceLogin?service=mail )
のソースから必要そうなタグをコピペして>>837,>>839のphpプログラムを作りましたら、
不要な部分を取り除き忘れているのです。
0845nobodyさん2012/01/15(日) 13:22:26.55ID:???
楽天()とGoogleのセキュリティを同列に扱うとかw
0846nobodyさん2012/01/15(日) 13:43:50.83ID:???
>>843
サーバー側から見ればクライアントがPHPだろうがブラウザだろうが関係ないさ
HTTP通信をトレースしてどんなものを送受信しているか確認して真似るのが近道よ
0847nobodyさん2012/01/15(日) 13:44:53.07ID:???
なんのためにGoogleはAPI提供してんだよ
素直にそれ使えよ
0848nobodyさん2012/01/15(日) 13:59:17.35ID:???
>>843
楽天なんて、セキュリティのセの字も無いサイトだぞ。
0849nobodyさん2012/01/15(日) 14:03:41.11ID:???
>>ID:5+piCYsS
あぁ、なるほどね
そのフォームのページ見てみたけど、
その手のはおそらく無理だよ
自分もGoogleではないけど昔同じような事をしてね
理由はそのうち試行錯誤していく内に分かると思うけど、
そのGoogleのフォームじゃかなり難しい
ま、素直に諦めるべきだね

他の人の意見に従って俺は知らないけどAPIとか統合とか使った方がいい
今から1週間粘っても、ここで質問しても無理だと思う
0850nobodyさん2012/01/15(日) 14:05:55.91ID:5+piCYsS
ぶっちゃけ楽天はアドレスバーに https://〜 ?u=ID&p=PASS を追加すればいいだけだからなぁw

で本題。
なんでクッキーGALXの値が必要だと判ったかというと、

準備としてWebブラウザを閉じてクッキー削除。
WebブラウザでGMail( https://accounts.google.com/ServiceLogin?service=mail )にアクセス。
ソースを見てGALXの値を調べる。
下記のphpプログラムにGALXの値とIDとPASSをべた書き。
同じWebブラウザでphp実行。

以上でサインインできるからです。
(WebブラウザのクッキーGALXの値とPOSTのGALXの値を比較しているみたいです。)
0851nobodyさん2012/01/15(日) 14:07:18.18ID:5+piCYsS
<?php

$test='
<!DOCTYPE html>
<html lang="ja"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>Google アカウント</title>
</head>
<body>
<form id="gaia_loginform" action="https://accounts.google.com/ServiceLoginAuth" method="post" name="a" id="a">
<input type="hidden" name="continue" id="continue" value="http://www.google.co.jp/">
<input type="hidden" name="hl" id="hl" value="ja">
<input type="hidden" name="GALX" value="ここにソースのGALXの値をコピペ">
<input type="hidden" id="pstMsg" name="pstMsg" value="1">
<input type="hidden" spellcheck="false" name="Email" id="Email" value="ここにID">
<input type="hidden" name="Passwd" id="Passwd" value="ここにPASS">
<input type="submit" id="signIn" value="ログイン">
<input type="checkbox" name="PersistentCookie" id="PersistentCookie" value="yes" checked="checked">
<input type="hidden" name="rmShown" value="1">
</form>
</body></html>
';

exit($test);
0852nobodyさん2012/01/15(日) 14:15:46.68ID:5+piCYsS
>>850
×(WebブラウザのクッキーGALXの値とPOSTのGALXの値を比較しているみたいです。)
○(WebブラウザのクッキーGALXの値とPOSTのGALXの値が同一であるか比較しているみたいです。)

同一であればサインインできます
0853nobodyさん2012/01/15(日) 14:17:54.94ID:???
おまえもういいよ
的確な回答は複数出たんだからブログでやってくれ
0854nobodyさん2012/01/15(日) 14:18:32.76ID:???
おそらく俺が書いた記事を書いている最中に>>850-851を書いていたんだと思うけど、
マジでGoogleは不可能に近い
よほどのハッカー/クラッカーでなきゃ無理
フォームの構造からまず問題だけど、おそらくサーバ側にも細工してる
他のサイトならともかくGoogleはやっぱ一筋縄ではいかない

まぁ、もし君がそれでもやり遂げたときは堂々と公表してよ
尊敬する
0855nobodyさん2012/01/15(日) 14:25:47.11ID:5+piCYsS
1ヶ月ぐらい悩むと、それまで不可能と思われたプログラムが
できてしまうものです。経験的にですが。
「PHP Google ログイン」で検索すると成功者もいるみたい?ですので、
チャレンジチャレンジでがんばってみます
■ このスレッドは過去ログ倉庫に格納されています