プロが教えるわが家の防犯対策術!

PHP初級です。
外部の別ホストからのPOST送信を禁止したいのですが、例えば.htaccessで制限することは可能でしょうか?
やりたいことは以下の質問と同じです。
http://q.hatena.ne.jp/1154620823

自ホストが .aaa.com として、
.aaa.com/soushin.php //POST送信
.aaa.com/jusin.php //POST受信
これは許可。

.bbb.com(.aaa.com以外)/soushin.php //POST送信
.aaa.com/jusin.php //POST受信
これをシャットアウトしたいのです。

.htasseccでいろいろと試してみましたが、POST出来てしまうか、サイトそのものへアクセス不可になってしまうかで
思ったように動作しません。
<Limit GET POST>
order deny,allow
deny from all
allow from .aaa.com
</Limit>

記述内容が悪いのか、もともと無理なのかがわかりません。
お手数ですが、ご教授いただけないでしょうか?
宜しくお願いいたします。

A 回答 (4件)

それで大丈夫だけどな。

xreaでテスト自ホストの指定が間違ってるんじゃないの?環境変数チェックするcgiで自ホストのリモートホストをチェックしてみ。
    • good
    • 0
この回答へのお礼

こんにちはJavaJavax2さん。
ということは、
allow from .aaa.com
の部分がおかしいのでしょうか?
もう一度見直してみます。

お礼日時:2009/09/06 07:45

素晴らしい質問です、勉強になりました。

世の中での成り済ましってそうやって行われるわけですね・・・いやぁ~恐ろしいです。
でも確かに!HTMLソースコード丸見えだと私でも成り済ましが出来てしまいそう・・・怖いなぁ。どっちにしても、この場合は、クライアント認証と言ってIPアドレスを伴って認証をクライアントにしてもらう時にサーバー認証をするか、サーバー認証を伴ってクライアントに送信されてるかのどちらかにしないとダメっぽいですよね。となると、画面が変わるたんびにクライアント認証をチェックしたらサーバーが表示するか?サーバー認証をいちいちパスワードを求めてするか?どちらかしか、結局ないのでは?
クライアント認証はクライアントがパスワードを入力した直後にこのIPがパスワードを入れたIPとしてサーバーがいちいちクライアントを認証するしくみなのでクライアントは楽ですよね。
でもサーバー認証は、毎回サーバーが認証をクライアントに求めてから認証するのでしょうか?やっぱり、いくら小細工しても抜け道がありそうなので、暗号化した方が良いと世間は言うのだなと、初めて納得した思いです!!!わざわざ高いお金で暗号化する機能をくぐらせて通信することに何の意味が!セッション管理でいいのでは?と思っていたけど・・・甘いんですね、こんな成り済ましされたら一ころ。

この回答への補足

こんにちはnoname#93451さん。
最近この事を知ったのですが、青くなりました。
私自身、勉強不足というより全くわかっていなかったと痛感しました。

補足日時:2009/09/06 07:54
    • good
    • 0

POSTメソッドを叩いて該当URLに対してリクエストを行うのはブラウザが行うものですから、ブラウザから該当URLに対してPOSTメソッドで某かのデータを送信してくるのであれば、通常、別ドメインに自サイトのフォームのコピーのようなものを作成され、通信されるのは制限できないと思います。


制限するとしたら、yambejpさんの仰るように$_SERVER変数に含まれるリファラ情報を見て制限するというところになりますが、ブラウザがリファラを通知してこなかった場合、全てはじいてしまいます。

そうなると、質問者さんが参照されたURL(はてなアンテナ)にて、ベストアンサーとなっているスクリプトのような、ワンタイムチケット(ワンタイムトークン)を発行する方法が良いのではないでしょうか。

http://www.jumperz.net/texts/csrf.htm
こちらにCSRFの詳しい対策方法などが記載されております。
    • good
    • 0
この回答へのお礼

こんにちはhogehoge78さん。
ありがとうございます。
ワンタイムチケットの方法で考えてみたいと思います。

お礼日時:2009/09/06 07:52

リファラをみて、外部だったときに、$_POSTをクリアしてしまえば?

    • good
    • 0
この回答へのお礼

こんにちはyambejpさん。
お返事が遅くなりました。
リファラも候補に入れてはいます。が、偽装できるということで、もう一つ欲しいなあといったところです。

お礼日時:2009/09/06 07:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!