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

△▲ WebProg 初心者の質問 Part23 ▼▽

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/01/06(木) 21:52:00ID:???
2ちゃんねるは初めて。 WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。

そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。

質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
 後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。

2ch 総合ガイド
http://www.2ch.net/guide/

お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。

関連情報は
>>2-4辺り

☆前スレ☆
△▲ WebProg 初心者の質問 Part22 ▼▽
http://hibari.2ch.net/test/read.cgi/php/1272872528/
0754nobodyさん2011/06/14(火) 21:19:29.22ID:???
妄想もここまで来れば立派なもんだ
0755nobodyさん2011/06/14(火) 21:43:51.50ID:???
ゆとりは相手にしなければいいよ。
0756nobodyさん2011/06/15(水) 05:45:42.28ID:1Y9A0oqd
javascriptで、DIV内をクリックするとメニューが降りてくるプルダウンメニューを作っています。
しかしながら、メニューが降りてくると同時に下の関係ないDIV要素まで降りてきたメニュー分下にずれてしまいます。
これを解消し、降りてきたメニューを下のDIV要素に重ねて表示するにはどうしたらいいでしょうか?
0757nobodyさん2011/06/15(水) 10:28:14.72ID:???
>>756

Web制作
http://hibari.2ch.net/hp/
0758nobodyさん2011/06/15(水) 11:15:50.20ID:???
perlでCGIを作っています。
最近はてながperlで作られていると聞いたので見にいったら、はてなのサイトに拡張子の.cgiがついていません。(ログイン画面とか)
これはなんでですか?自分で作ると、拡張子が.cgiになるんですが、根本的に何か違うんですか?
0759nobodyさん2011/06/15(水) 11:24:08.58ID:XLMDzaXt
サーバの設定次第で、
* 拡張子 .cgi のURLはCGIとして動く とも設定できるし、
* 特定のURLのものはCGIとして動く とも設定できる。
0760nobodyさん2011/06/15(水) 11:49:27.00ID:???
>>759
ありがとうございます。
サーバでいろいろ調べたら、Apacheのmod_rewriteっていうので
.cgiがついたURLを変更するっていうのがあったんですが、そういう理解でいいですか?
あとこれってなんで必要なんですか?URLを変更する理由がまだわかりません。
何度もすいません。。
0761nobodyさん2011/06/15(水) 11:53:16.90ID:???
>>760
グーグルさんとかがcgiとかのURLは検索結果の上位に来にくい。
/hoge/123456/
とかのほうが上位にくる。
0762nobodyさん2011/06/15(水) 11:54:34.92ID:???
ScriptAliasとかもあるしな
0763nobodyさん2011/06/15(水) 12:09:59.84ID:???
>>761
SEO的な理由ですか。わかりました。
一瞬セキュリティの問題かと思ったらそういうわけじゃないんですね。

>>762
いろいろあるんですね。
perlが使えるようになったらサーバも勉強しないとww

みなさんありがとうございます。
0764nobodyさん2011/06/15(水) 12:23:59.52ID:???
セキュリティ対策の面もあるメーン
0765nobodyさん2011/06/15(水) 12:52:26.71ID:???
そもそもはてなはPerlをCGIでは動かしてないと思うが
0766nobodyさん2011/06/15(水) 14:03:30.67ID:XLMDzaXt
いつまでも同じサービスを"CGIとして"提供するかどうか分からんという場合も。
0767nobodyさん2011/06/15(水) 21:13:03.01ID:hAeC+hmo
amazon apiの勉強をしています。
マニュアルにある通り下記URLをブラウザに入力しました。
IDはアマゾンのサイトで取得し、間違ってはいません。

http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService
&AWSAccessKeyId=[AWSアクセスキーID]
&Operation=ItemSearch
&Keywords=Rocket
&SearchIndex=Toys

そうしたところ下記のように表示され
エラーになってしまいました。
なぜエラーが表示されたのでしょうか。
ご教授いただけたら幸いです。
よろしくお願い致します。
<?xml version="1.0"?>
<ItemSearchErrorResponse xmlns="http://ecs.amazonaws.com/doc/2005-10-05/">
<Error><Code>MissingParameter</Code>
<Message>The request must contain the parameter Signature.</Message></Error>
<RequestID>daa42fb8-f700-425c-a11b-ea04de6013c9</RequestID></ItemSearchErrorResponse>
0768nobodyさん2011/06/15(水) 21:23:54.22ID:9cW2Zc73
JSP で GET 要求を検知して弾くには、以下の方法で十分ですか?

1 ページの一番上(out を使わないように)にて、getMethod() で GET を検知
2 <jsp:forward> を使って、meta 要素の Refresh 機能で強制転送するだけの HTML を吐く JSP を読ませる
3 吐き出された HTML によって、トップやログインページに飛ばす

Servlet なら doGet を実装しないだけでよいのですが、
JSP ではできるのか不明なのです。
0769nobodyさん2011/06/15(水) 21:37:03.17ID:dzhd0XKH
>>767
エラーメッセージにあるようにSignatureというパラメータが必要。
2年くらい前からそうなってる。
計算方法はいろいろ記事が出ているのでぐぐるべし。
現在時刻とかいろいろ使って求める。
0770nobodyさん2011/06/15(水) 21:41:39.09ID:9cW2Zc73
ちなみに、いきなり飛ばす先のページを読み込むのはなしです。
というのも、キャッシュが厄介なのと、アドレスバーが変わらないからです。
0771nobodyさん2011/06/15(水) 22:34:42.97ID:???
Apache の設定で弾いたほうが早い気がする

# GET アクセスじに環境変数 denyaccess を定義
SetEnvIfNoCase Request_Protocol GET denyaccess
# 環境変数 denyaccess が定義されてればエラー (403 エラーになるはず)
Deny from env=denyaccess



0772nobodyさん2011/06/16(木) 00:47:45.19ID:Ip3TQC6H
>>771
ありがとうございます。
調べてみます。
07737672011/06/16(木) 12:41:57.05ID:WOvT13yM
>>769
ありがとうございます
0774nobodyさん2011/06/16(木) 12:56:39.63ID:WOvT13yM
色々amazon apiについて調べたらServices_Amazon-0.8.0をインストールすれば
楽みたいなことが書いてあったのでServices amazonをインストールしたいのですができません。
XAMPPは正常にインストールしました。
Mac OS X 10.4.11 なのでターミナルで
cd で該当らしきフォルダに移動し
./pear install --alldeps Services_Amazon-0.8.0
とやっても
HTTP error, got response: HTTP/1.1 410 Gone
Didn't receive 200 OK from remote server. (HTTP/1.1 410 Gone)
となり、よくわかりません。
どうしたらServices_Amazon-0.8.0をインストールできますか?
ご教授いただければ幸いです。
0775nobodyさん2011/06/16(木) 13:08:12.79ID:???
>>774
よくわかりません状態から進むはず。
http://www.google.co.jp/search?q=pear+%22410+Gone%22
07767742011/06/16(木) 15:04:17.95ID:4+jXxmiS
>>775
ありがとうございます。
pearのバージョンが古いんですね。
バージョンアップの仕方が載ってるページを見つけ
早速やってみたのですが、下記のようになります。
a-a-no-ibook-g4:/Applications/xampp/xamppfiles/lib/php root# ./pear channel-update pear.php.net
su: ./pear: is a directory
エラー通り pear: is a directory をけんさくしたのですが、
もう何がなんだかわかりません。
すみません、また教えてください。


「root権限でpearをアップグレード
※./を付け忘れるとMacに元から入っているpearが呼ばれるので注意

$ sudo su
cd /Applications/xampp/xamppfiles/lib/php/
./pear channel-update pear.php.net

Updating channel "pear.php.net"
Update of Channel "pear.php.net" succeeded」
0777nobodyさん2011/06/16(木) 15:27:52.93ID:???
>>776
pear の実行ファイルは本当に /Applications/xampp/xamppfiles/lib/php にあるの?
OS X わかんないなりにぐぐってみたら
/..略../xamppfiles/bin/pear がそれっぽいんだけど。
0778nobodyさん2011/06/16(木) 15:30:17.40ID:???
Mac板いけ。根本的な部分が理解できてない。
0779nobodyさん2011/06/17(金) 01:16:52.34ID:???
WP板の子達こわいお
07807742011/06/18(土) 18:11:13.54ID:Ji3auqWq
>>777
レスありがとうございます。
実行ファイルってPEAR.phpのことですか?
そのファイルは/Applications/XAMPP/xamppfiles/lib/php/pear/のなかにあります。
sudo suでぱすいれて
cd /Applications/XAMPP/xamppfiles/lib/php/pear/ にいどうして
./pear channel-update pear.php.net と入力したのですが、
su: ./pear: is a directoryとなります。。
0781nobodyさん2011/06/18(土) 18:29:57.04ID:hn6FxEQi
binとlibがあったらbinの下にあるほうが普通は実行ファイルだが…
07827742011/06/18(土) 18:45:59.94ID:Ji3auqWq
>>781
できました!
Updating channel "pear.php.net"
Update of Channel "pear.php.net" succeeded
ネットに載っていたものをとりあえずやってたんですが、
実行ファイルのあるフォルダ移動しないといけなかったんですね。
勉強になりました。
777もありがとうございました!
07837742011/06/18(土) 19:33:15.36ID:Ji3auqWq
service amazonをインストール後pear listを入力すると
Cache
HTTP_Request
Services_Amazon
XML_Serializer
上記のものが表示されるのですが、
なぜか表示されません。もう一度service amazonをインストール
したら既にインストールされてるというメッセージです。
なぜpear list を入力して上記のものが表示されないのでしょうか?

a-a-no-ibook-g4:/Applications/XAMPP/xamppfiles/bin aa$ ./pear install -a Services_Amazon-beta
pear/Services_Amazon is already installed and is the same as the released version 0.8.0
install failed
a-a-no-ibook-g4:/Applications/XAMPP/xamppfiles/bin aa$ pear list
Installed packages:
===================
Package Version State
Archive_Tar 1.1 stable
Console_Getopt 1.2 stable
DB 1.6.2 stable
HTTP 1.2.2 stable
Mail 1.1.3 stable
Net_SMTP 1.2.6 stable
Net_Socket 1.0.1 stable
PEAR 1.3.2 stable
XML_Parser 1.0.1 stable
XML_RPC 1.1.0 stable
a-a-no-ibook-g4:/Applications/XAMPP/xamppfiles/bin aa$
0784nobodyさん2011/06/18(土) 19:58:14.51ID:???
上記のものが表示されるのですが、
なぜか表示されません。

日本語でおk
07857742011/06/18(土) 22:03:38.14ID:Ji3auqWq
>>784
レスありがとうございます。
日本語でおkとは、別に表示されなくて問題ないということでしょうか?
service amazonは正常にインストールされているのでしょうか
0786nobodyさん2011/06/18(土) 22:40:32.06ID:hn6FxEQi
「表示されるのですが」と「表示されません」というのが矛盾していると
指摘しているだけでしょう。
たぶん「表示されるはずなのですが」と書きたかったんだろうな。
0787nobodyさん2011/06/18(土) 22:47:15.20ID:???
文章貼り付けられてもおかしいと思わないんだもんな
ゆとりはすげぇや
0788nobodyさん2011/06/19(日) 00:02:58.55ID:???
ここは、お笑い道場かw
0789nobodyさん2011/06/19(日) 00:06:55.87ID:???
Mac使う前にLinuxかFreeBSD入れてUNIX系の基礎から学んだほうがいいんじゃないか?
0790nobodyさん2011/06/19(日) 01:01:08.46ID:???
>>783
>※./を付け忘れるとMacに元から入っているpearが呼ばれるので注意
って自分で書いてるじゃん。
0791nobodyさん2011/06/21(火) 22:39:59.89ID:???
さっきふと思ったんだけど、
実行中のスクリプトからファイルを作ったり、ディレクトリを作った場合、
パーミッションをちゃんと指定してあげるべきなんでしょか?

今までは問題は無かったんだけど、気になったもので。。
0792nobodyさん2011/06/21(火) 22:47:29.36ID:???
すみません質問です。
先日どこかで、携帯のカメラ(iphone?)を使用したフリーの在庫管理CMSのHPを見ました
mysqlも浸かってたような…
どなたか見た覚えがありましたらURLを教えてください。
0793nobodyさん2011/06/21(火) 22:58:52.65ID:???
スクレイピングした文章をGoogleとかに嫌われないように単語とかを付け加えるのって
どういう風に行うか解説してるサイトってありますか?
0794nobodyさん2011/06/21(火) 23:41:38.59ID:obYjXYHU
質問させてください。
<input type="text" name="name" value="ここにhtmlタグを入れたい">
value=に値を入れるにはjavascriptで出来るようなことを知ったのですが
やり方がよくわかりません。何卒よろしくお願いします。
0795nobodyさん2011/06/21(火) 23:53:28.95ID:???
にゃあ

って言えば閃くよ
0796nobodyさん2011/06/22(水) 00:00:34.58ID:aqGoSPtZ
>>791
UNIXでファイルを作成する際のパーミッションを決めるときはumaskというプロセス設定値を使う。
umaskは022のような8進表記の数値で表す。

ファイルのときは 666、ディレクトリのときは777 から umaskの立っている
ビット(022なら、gのwとoのw)をオフにしたものが実際に作られたものの
パーミッション(それぞれ644と755)になる。
現umaskを変更する機能は大抵の言語にあるはず。

細かい間違いはあるかもしれないけどだいたいこんな感じ。

0797nobodyさん2011/06/22(水) 00:46:29.52ID:???
>>794
それはHTMLを学べば分かると思うが、
もし、inputタグの中にボタンを表示したいとかいう話だったm(_ _)mゴメンナサイ というレベルの質問

wishで試してみるとテキストボックスの中にボタンを表示なんて出来てしまうから笑えるんだけどな。
そんなUI、普通は使いたいとは思わない、と、思う。
0798nobodyさん2011/06/22(水) 00:52:16.28ID:???
実体参照で書けばいいだけでは?
0799nobodyさん2011/06/22(水) 01:11:41.47ID:???
>>797
すみません。言ってる意味がわかりません…

<input type="checkbox" value="<a href="hoge">hoge</a>">
value=""の中に <a href="hoge">hoge</a> を入れたいのですができません。
よろしくお願いします。
0800nobodyさん2011/06/22(水) 01:30:18.05ID:???
そういう事なら>>798だな
0801nobodyさん2011/06/22(水) 01:44:54.58ID:???
>>798>>800
ありがとうございマッスル!
0802nobodyさん2011/06/22(水) 22:26:57.31ID:NELxxc8x
少々質問です。

現在PerlにてCGIを作成していたのですが、うまく動かず、簡単な物でテストをしてみました。
エラーはInternal Server Errorです。

1例:(拾ってきたもの)
#!/usr/local/bin/perl
print <<"_HTML_";
Content-Type: text/html; charset=Shift_JIS

<html>
<head><title>テスト</title></head>
<body><p>CGIテスト</p></body>
</html>
_HTML_
0803nobodyさん2011/06/22(水) 22:31:25.77ID:NELxxc8x
2例:(今覚えていた物で文字列書き出すだけの物)
#!/usr/local/bin/perl
print "CGIテスト\n";
exit;

私は2例目のを動かしたいのですが、動かず、ネットで拾ってきた1例目のだけはちゃんと表示されます。
考えられる原因は何か無いでしょうか?
現在試したのは.htaccess、パーミッションの変更あたりです。

宜しくお願いします
0804nobodyさん2011/06/22(水) 22:40:01.44ID:???
エラー見てみると、Premature end of script headersとかでていないかい?
2番目のスクリプトも正しくはあるのだが、CGIとしては正しくない、という事だ。
コンソール上では動くはずだよ。

詳しくは、HTTPでも調べてみると理解できるかな
0805802,8032011/06/22(水) 22:44:03.04ID:???
お早いレス感謝、エラー自体は>>802に記載した物しか出てないんです。
Premature~のを検索かけてみた所、対処方法がいくつか見つかりましたので少々やってみます
0806802,8032011/06/22(水) 23:06:48.52ID:???
だめだ・・・意味が分からない
何がだめなんだ・・・
0807802,8032011/06/22(水) 23:15:12.53ID:NELxxc8x
今したいことというのが、フォームで入力したものをCGIで処理させたいのですが、

http://www.web-liberty.net/improve/perl/input.html
http://www.aimix.jp/cgi/syohofilewrite.html

このあたりのを参考にしようと思っていたのですが、うえに書いたInternal Server Errorが出てしまいます。
もちろんパスは何度も確認してるし処理自体もある程度把握してはいるつもりなので間違ってないとは思うのですが、何がおかしいのでしょうか・・・。

ちなみに、Premature end of script headersで検索かけて出てきた対策は一通りやってみましたがやはり駄目なようです
0808nobodyさん2011/06/22(水) 23:24:02.32ID:aqGoSPtZ
Content-Type 行を出す。
1行空ける。
それから出したいものを書く。
0809802,8032011/06/22(水) 23:34:23.29ID:NELxxc8x
これで駄目でした・・・

#!/usr/local/bin/perl

print "Content-Type: text/html; charset=Shift_JIS\n\n";

print "CGIテスト";
0810802,8032011/06/22(水) 23:39:06.01ID:???
何か勘違いしてるんでしょうか
ちょっともう少し原因調べつつperlの勉強し直してみるでもしないとだめか・・・
0811nobodyさん2011/06/22(水) 23:39:23.09ID:???
× #!/usr/local/bin/perl
○ #!/usr/bin/perl
0812802,8032011/06/23(木) 00:59:37.00ID:2qDcnB00
すいません、原因が分かりました
どうやら文字コードがANSIになっていなかったせいでエラーが出ていたようです

お騒がせしてすみませんでした。
0813nobodyさん2011/06/23(木) 05:39:16.72ID:???
いやいやいやいや
そんなんでエラー出ねぇよw
0814nobodyさん2011/06/23(木) 05:45:24.26ID:???
改行コードじゃないの
0815nobodyさん2011/06/23(木) 05:46:21.52ID:???
改行コードかバックスラッシュ辺りだろ
Shift_JISなんて9年前の腐った牛乳使ってるからだ
0816nobodyさん2011/06/23(木) 05:48:29.81ID:???
Windowsでコード書く気しねぇわ
0817802,8032011/06/23(木) 14:26:51.90ID:2qDcnB00
いやInternal Server Errorが出る物を、単純にANSIで保存してUPしてやると普通に動作してくれたもので。
ツールの設定でANSIで自動的に保存するように指定してたのですが、なぜかその設定が効かずにUnicodeで保存してしまっていたのが問題だったようです。

・・・って結局改行コードが原因なんだろうか。
0818nobodyさん2011/06/23(木) 16:10:21.64ID:???
Internal Server Errorってブラウザばっか見てても
なかなか解決しないよ、ログ見るとかコンソールで
実行して見るとかしないと
0819nobodyさん2011/06/23(木) 17:16:56.37ID:???
UTF-8N だからエラーが出たんだろ?
フラグ無し UTF-8 で保存してみなよ
0820nobodyさん2011/06/23(木) 17:17:24.30ID:???
てか、使ってるエディタは?
0821nobodyさん2011/06/23(木) 17:18:19.55ID:???
メモ帳か
メモ帳の UTF-8 は BOM が付くから駄目
0822nobodyさん2011/06/23(木) 23:14:25.06ID:???
BOMだな

何度これで悩んだことか……。
ファイルの先頭でエラーになる
0823nobodyさん2011/06/23(木) 23:18:00.35ID:???
あとWindowsで書いたShift-JISファイルをLinuxやBSDのnkfでUTF-8に変換しても駄目な時あるよね

BOM, 改行コード, バックスラッシュ, チルダのどれかが引っかかる。
0824nobodyさん2011/06/24(金) 00:12:30.54ID:gNVDUPJy
Shift_JISを名乗っているがその実態はCP932だったりするからな。
0825nobodyさん2011/06/24(金) 00:32:57.54ID:???
>>824
M$謹製Shift_JISか > cp932
0826nobodyさん2011/06/27(月) 17:27:30.81ID:k6qUSqXq
http://ecs.amazonaws.jp/onca/xml?
Service=AWSECommerceService
&AWSAccessKeyId=[AccessKey]
&Version=2009-07-01
&Operation=ItemLookup
&IdType=ISBN
&ItemId=4043671024
&SearchIndex=Books
上記のようにISBNでリクエストすると大丈夫なのですが、
下記のようにSKUでリクエストすると
「20110317B012は、ItemIdの値として無効です。
値を変更してから、再度リクエストを実行してください。」
とエラーメッセージが出ます。2011〜は現存のskuです。
なぜエラーメッセージが出るか教えてください。
どうしたら正常にリクエストできますか?
http://ecs.amazonaws.jp/onca/xml?
Service=AWSECommerceService
&AWSAccessKeyId=[AccessKey]
&Version=2009-07-01
&Operation=ItemLookup
&IdType=SKU
&ItemId=20110317B012
&SearchIndex=Books
&MerchantId=[my id]
0827nobodyさん2011/06/27(月) 18:59:16.95ID:???
SKUでリクエストできる、って書いてあるのかい?
08288262011/06/27(月) 19:47:28.17ID:k6qUSqXq
>>827
書いてありますよ。
アマゾンのapi 開発ガイドのapiリファレンスの中にある
オペレーション Itemlookup リクエストパラメータ Idtypeに
「商品の検索に使う商品IDの種類。全ての IdTypes (ASINxを除く) では、SearchIndexを指定する必要があります。SKUでは、MerchantIdも指定する必要があります。詳細については、商品ID をご参照ください。

タイプ: 文字列

デフォルト: ASIN

有効な値: SKU | UPC | EAN | ISBN (US のみで、サーチインデックスが Books の場合有効) | JAN. UPCはCAサイトでは無効です。」
ttps://images-na.ssl-images-amazon.com/images/G/09/associates/paapi/dg/index.html
08298262011/06/27(月) 19:52:31.22ID:k6qUSqXq
ちなみにAという商品にはJANコード(バーコード)が付与されていて
Asinというアマゾンが付与した番号とひもづいています。
Aという商品に出品者がつけた管理番号がSKUです。
0830nobodyさん2011/06/27(月) 20:03:27.84ID:???
>>828
SKUの場合、ItemIDは必ずしもISBNじゃないよ。
つか何故にSKU使おうとしてる?
08318302011/06/27(月) 20:07:41.87ID:???
あ、ごめん。管理番号は別にあるのね。
とりあえずレスポンスをDumpかな。あとマルチいくない。
0832nobodyさん2011/06/27(月) 20:08:42.44ID:???
何はさておき先ずリクエストと参照するマニュアルとでAPIのバージョンくらいは合わせてはどうか
08338262011/06/28(火) 00:27:50.41ID:qpEJzhM0
>>831
レスポンスをDumpってどういうことでしょうか?
具体的に何をすればいいでしょうか?
すみません、調べても何をしたらいいか全くわからず
質問しても回答が無かったのでマルチしてしまいました。。
ちなみに下記がエラーになった内容です。
一部IDなどは伏せるため変更しています。
<ItemLookupResponse>
−
<OperationRequest>
−
<HTTPHeaders>
<Header Name="UserAgent" Value="Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.4; ja-JP-mac; rv:1.9.2.18) Gecko/20110614 Firefox/3.6.18"/>
</HTTPHeaders>
<RequestId>c669d70f-98f7-4efd-816b-a76b4dd2d6a3</RequestId>
−
<Arguments>
<Argument Name="Operation" Value="ItemLookup"/>
<Argument Name="Service" Value="AWSECommerceService"/>
<Argument Name="Version" Value="2009-07-01"/>
<Argument Name="SearchIndex" Value="Books"/>
<Argument Name="Signature" Value=" "/>
<Argument Name="MerchantId" Value="My ID"/>
<Argument Name="ItemId" Value="20110317B012"/>
<Argument Name="IdType" Value="SKU"/>
<Argument Name="AWSAccessKeyId" Value="MY keyID"/>
<Argument Name="Timestamp" Value="2011-06-27T15:19:36.000Z"/>
</Arguments>
<RequestProcessingTime>0.0161250000000000</RequestProcessingTime>
</OperationRequest>
−
<Items>
0834nobodyさん2011/06/28(火) 00:28:24.44ID:qpEJzhM0
−
<Request>
<IsValid>True</IsValid>
−
<ItemLookupRequest>
<Condition>New</Condition>
<DeliveryMethod>Ship</DeliveryMethod>
<IdType>SKU</IdType>
<MerchantId>MY ID</MerchantId>
<OfferPage>1</OfferPage>
<ItemId>20110317B012</ItemId>
<ResponseGroup>Small</ResponseGroup>
<ReviewPage>1</ReviewPage>
<ReviewSort>-SubmissionDate</ReviewSort>
<SearchIndex>Books</SearchIndex>
<VariationPage>All</VariationPage>
</ItemLookupRequest>
−<Errors>−
<Error>
<Code>AWS.InvalidParameterValue</Code>−
<Message>
20110317B012は、ItemIdの値として無効です。値を変更してから、再度リクエストを実行してください。
</Message>
</Error>
</Errors>
</Request>
</Items>
</ItemLookupResponse>
08358262011/06/28(火) 00:53:46.66ID:qpEJzhM0
デバッガにプログラム読ませると言っても
プログラムというよりURLを送信して情報をリクエストしているので
ダンプの仕方がわかりません。
0836nobodyさん2011/06/28(火) 10:34:17.56ID:???
ログイン画面作っているんですが、CSRF対策まわりについて教えてください。
最初に表示するパスワード入力画面では、GETではなくPOSTリクエストの時に表示しろということなので、
別のページに飛ばして、そこからPOSTしてきてもらうようにすればいいのでしょうか?

ログイン画面でPOSTリクエストを受け取った画面でセッションIDとワンタイムトークンを発行し、
ワンタイムトークンをhiddenフィールドに埋め込み、またサーバセッションに格納。
ログイン認証画面でhiddenとサーバセッションに格納したものを突き合わせ合致したら正当なリクエストとみなす。

ということでいいのでしょうか?

流れ
1, GET/login→2, GET/cushion→3, POST/login→4, POST/valid
1, ログイン画面→2, POSTできるとことに飛ばす→3, ログイン画面→4, 認証
(または2を省略して1から3へ自分自身をPOSTしなおす)

処理
1, cushionに飛ばす(GETの時はセッションをまだ発行しない)→2, loginにPOSTする→
3, セッションIDを発行してクッキーに保存&ワンタイムトークンをhiddenフィールドとセッションオブジェクトに格納→
4, hiddenフィールドとセッションオブジェクトのワンタイムトークンを突き合わせ正当なリクエストか確認&パスワードチェック

あとは3の後にリロードしてGETリクエストになった場合、セッションオブジェクトを破棄する感じでいいでしょうか?
0837nobodyさん2011/06/29(水) 06:11:19.52ID:rTqnEVjS
サイトの携帯版の開発について質問します
どういう方法で、PC, ガラケー, スマートフォンの画面切り替えをするのが良いんでしょうか?
フレームワークを使ってるんですが(php, zendFW)フロントコントローラで

1、携帯キャリアのIPアドレスでPC版とわける
2、****の方法でガラケーとスマホをわける
3、それぞれの端末タイプに応じてモジュール|view出力|CSSなどを切り替える

とイメージしたんですが、2の****の方法がわかりません(質問1)

また、携帯キャリアのスマートフォンのテザリングを利用して
携帯キャリアのIPアドレスからPCのユーザがアクセスすることも考えられます。
どうしたら良いんでしょうか?(質問2)
それとは逆に、家庭内のLANなどwifiネットワークからスマフォがアクセスすることも
考えられます。これもどうしたら…(キャリアIPアドレスでの判別ができなくなるのでは)

あと、よく携帯版のサイトで、サブドメインを m.hogehoge.comなどと
携帯用に用意してるものがあります
どうしてこんなことをするんでしょうか?(質問3)
アクセス解析しやすいかなと思うけど、それ以外に理由はあるんでしょうか

長くなってすみません、ご意見よろしくお願いします
0838nobodyさん2011/06/29(水) 08:13:31.68ID:???
>>837
メディアクエリ
0839nobodyさん2011/06/29(水) 11:08:14.16ID:???
サーバー(WEB鯖、メール鯖、DNA鯖)を立てて運用しているのですが、
PHPとMySQLを連携させたウェブアプリを作ろうと考えています。
よく、WEB鯖とデータベース鯖は同じ鯖にしないというレスを見かけるのですが、
ウェブで調べていても、WEB鯖とデータベース鯖が同じ鯖で手順を記載している場合が多く、
書籍でも別の鯖で連携させている方法を見かけません。
具体的にWEB鯖とデータベース鯖を別に立てて運用するような場合の
参考になるサイトなどありますでしょうか?
0840nobodyさん2011/06/29(水) 11:45:30.78ID:???
サーバ構築とかスレ違い
自宅サーバ板にでもいくといい
それだけじゃなんなのでアドバイスを1つ
とりあえず2つIP用意しとけ
0841nobodyさん2011/06/29(水) 13:14:23.51ID:???
>>838
どうもありがとうございます
そんなものがあったんですね、参考にします
0842nobodyさん2011/06/29(水) 20:33:01.30ID:???
servletでセッション攻撃を防ぐにはどういったことをすればよいですか?
ログアウト時に session.removeAttribute でログイン情報のセッション変数を削除すれば大丈夫ですか?
0843nobodyさん2011/06/29(水) 20:57:58.31ID:???
セッション攻撃といっても色々あるからなあ
0844nobodyさん2011/06/29(水) 23:38:38.65ID:???
>>843
セッションハイジャックなどによるログインユーザへのなりすましを防ぎたいです。
現在行っている処理は、
・ログイン認証成功時にセッション変数に特別な値を設定
・セッション変数の特別な値でログイン状態を判断してアクセス可否をフィルタで切り分け
・ログアウト時にセッション変数の特別な値を消す
だけです。
特別な値を消しているので、戻るボタンで戻ってもログインユーザ向けのページは開けないので、
大丈夫だとは思うのですが、どこかのサイトで同じセッションIDを使い続けるとヤヴァいと見たので、
それがとても気になっているのです。
※すべてのページでキャッシュを無効(+有効期限を強制的に超過させる)にしています。
0845nobodyさん2011/06/30(木) 09:12:30.51ID:???
>>844
IPアドレスやUAも同一かチェックすればほぼ大丈夫でしょう
0846nobodyさん2011/06/30(木) 15:23:32.26ID:???
セッションファイルが残ることを危惧してるなら
ログアウト時にセッション変数を完全に消せばおk
これでセッションハイジャックされても
ログイン情報は残ってないのでできない
(通常ログインに成功したらセッション変数にユーザ名とかを入れて
その変数の有無でログイン状態を確認するので)
まぁ普通セッションIDは類推されにくいものなので
こちらの心配はほぼしないでも大丈夫

ログイン中のハイジャック対策でプログラム側が行えるのは
XSSによるクッキー漏洩対策ぐらい
(通常クッキーにセッションIDを入れるので)
ログインフォームやログイン後の入力フォームに
XSS脆弱性がなければまぁ問題ないでしょう

あとログイン時にセッションを発行するだろうけど
ログイン成功時にセッションを再発行して
そっちのセッションを使うとなおよい(前セッションは破棄)
0847nobodyさん2011/06/30(木) 21:48:13.33ID:???
>>846
ありがとうございます。
参考にさせて頂きます。

ところでセッションIDを変更する件ですが、色々試したところ無事できました。
ログイン前のセッションを破棄した後、getSession(true) で新しいセッションを生成すればできました。
新しいセッションにログイン判断用の特別な値をセットできましたし、肝心のIDもきちんと変わっていました。
※getId()でサーバ側、火狐のプラグインでクライアント側を確認できました。
こんな簡単なことで何時間も悩んでいたのがバカらしいです。(-_-;)
0848nobodyさん2011/06/30(木) 21:59:06.09ID:TyzTN8BV
>>845
ありがとうございます。
IPアドレスはフィルタークラスでチェックするようにしました。
他にも色々と対応策を探します。
0849nobodyさん2011/07/01(金) 16:47:33.63ID:yvC2EG+s
解決方法が解らないのでお知恵をお願いいたします。

現在レンタルスペースを利用しています。
そちらにperlスクリプトをアップロードしても、
変更前のスクリプトがそのまま実行されてしまうことがあります。
もしかして、中間言語か何かにコンパイルされて、
何らかの処理を行わないとあまりリコンパイルされないとか、
そういう仕様があるのでしょうか?

お力をお願いいたします。
0850nobodyさん2011/07/01(金) 16:57:57.20ID:???
どのサービスを使ってるのかくらいは明らかにして欲しいのですが、
perlなりphpなりの結果をキャッシュする仕組みは存在します。

ただ、本当に「変更前のスクリプトが実行」されていますか?
結果がブラウザにキャッシュされているだけということはありませんか?
0851nobodyさん2011/07/01(金) 19:54:14.53ID:???
>>849
9割くらいの確率で君の「勘違い」
0852nobodyさん2011/07/01(金) 20:15:39.60ID:yvC2EG+s
>>850
ブラウザにキャッシュされているものかと思いましたので、
強制読み込みをしたり、キャッシュを捨てたり、
別のブラウザ(IR,FFなど管理が別の物)を使ったりしましたが、
結果は同じでした。

また、別のスクリプトをアップロードしたものかと思ったのですが、
レンサバ上の当該場所(FFFTPを使って、自動的にフォルダと同じ場所に移動する設定にしています。)
をFTPソフトで確認すると、変更済みのスクリプトがアップされています。
ところが、直接URLを叩いて実行すると昔のスクリプトが実行されているという現状です。
0853nobodyさん2011/07/01(金) 20:20:46.92ID:???
1+1=2を1+3=4にしたが、1+3=2となる

HAHAHA!
■ このスレッドは過去ログ倉庫に格納されています