この問題、IT業界3年生には....少し、ハイレベルなため、力を貸してほしいです。
条件
サーバーサイド:筐体上に存在するドメイン以外のアクセスを弾く
フロントサイド:ajax(xhr)通信で非同期にcgiの結果を取得
状況
設定を書き込んでいるはずが、実質
header append Access-Control-Allow-Origin = '*'
と同じ挙動で、どのドメインからでもアクセスできる。
ソース
.htaccess
SetEnvIf Origin "^https?://(www..*.subdomain.co.jp|012.345.678.910:80)$" http_origin=$0 Header set Access-Control-Allow-Origin %{http_origin}e env=http_origin
jabascript
jabascript
1$.ajax({ 2 url:'//www.abcd.subdomain.co.jp/cgi-bin/Suggest.cgi', 3 type:'get', 4 cache:false, 5 dataType:'json' 6});
やりたいこと
1.Apacheの.htaccessで指定されたorigin以外からのアクセスを弾きたい
2.設定するoriginは、IFのような条件分岐で、正規表現とmatchする場合のみ値を返すようにしたい
このような感じです。
本日は、これで業務を終了しますので、明日、回答を読ませていただきたいと思います。
お急ぎでレスを投げて下さる方もいらっしゃるかとは、思いますが、
何卒、ご容赦くださいませ。
追記
おはようございます。
本文中に一部、誤字脱字がありましたので、修正加筆致しました。
以下、情報整理
一度、整理致します。
ソース
.htaccess
SetEnvIf Origin "^https?://(www..*.subdomain.co.jp|012.345.678.910:80)$" http_origin=$0 Header set Access-Control-Allow-Origin %{http_origin}e env=http_origin
javaScript
javaScript
1$.ajax({ 2 url:'//www.dcba.subdomain.co.jp/cgi-bin/Suggest.cgi', 3 type:'get', 4 cache:false, 5 dataType:'json' 6});
headerの内容
・指定外(つもり?)のオリジンからのアクセス
- request heddas
1.Request URL:http://www.dcba.subdomain.co.jp/cgi-bin/Suggest.cgi?_=0123456789
2.origin:http://hogehoge.jp - response headers
1.Access-Control-Allow-Origin:http://hogehoge.jp - コンソールログ
1.XMLHttpRequest cannot load http://www.dcba.subdomain.co.jp/cgi-bin/Suggest.cgi?_=0123456789. Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers in preflight response.
・指定した(つもり?)のオリジンからのアクセス
- request heddas
1.Request URL:http://www.dcba.subdomain.co.jp/cgi-bin/Suggest.cgi?_=0123456789
2.origin:http:www.abcd.subdomain.co.jp - response headers
1.Access-Control-Allow-Origin:http:www.abcd.subdomain.co.jp - コンソールログ
1.なし
以上が現状、出ている情報です。
過不足は、対処いたしますので、御申しつけ下さい。
ついては、この状態、上記しました"やりたいこと"が出来ている状態なのでしょうか?
お分かりになれば、ご回答をいただけると幸いです。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/12 09:02 編集
2016/07/12 09:10
2016/07/12 09:11
2016/07/12 09:32 編集
2020/04/16 17:04