• ベストアンサー

IP制限のある決済会社への接続方法

coaiの回答

  • coai
  • ベストアンサー率50% (152/301)
回答No.3

PHPはソケット通信ができますよ。 ソケットを開くことができるというべきか、ソケットを使える、扱えるというべきかもしれませんが、その辺はニュアンスで。 fsockopen http://www.php.net/manual/ja/function.fsockopen.php まあ、誤解を恐れずに言えばプロキシサーバを作るようなもので… ユーザーはサーバーAとのみ接続する。 裏で、どうやって決済会社Bとデータのやりとりをしているのかは、ユーザーから見ると判らないし、セキュリティ面から見ると決して判ってはいけない。 知られたからと言って即座に攻撃を受けるわけではないが、万一の事態を招かないためにお金に絡む事は慎重に慎重を期して。 サーバーAは決済会社Bと、ソケット通信を利用してデータをやり取りする。 プロキシサーバの要領なので、決済会社Bから見ると起点のIPアドレスはサーバーAのもの。 サーバーAから見ると、ユーザーのIPアドレスや端末情報などは判らないし、判る必要もない。 IP制限があるんだから基本はこの一択で、fsockopenを直接使うか、ラッパークラスを介するか、あるいはfopenなどを使って細かい動作はPHPの挙動に任せるか、実装手段には多少選択の幅がありますが。 個人的には、fsockopenを直接使うラッパークラスを自作するかな。(つーか、過去に作ったラッパークラスを拡張する) PHPとfsockopenで検索すれば、たぶん使えるサンプルコードは見つかると思いますよ。 つーか、決済会社Bは実装サンプルコードを用意してないの?頼めば貰えると思うんだけど。

sooooochin
質問者

お礼

早々にご回答いただき有難うございます。 仕様書ではPOST送信とあったので、自分の知識ではセキュリティー面では問題ありですがクライアントからのPOST送信か仰る通りソケット通信にて接続するかと思っていましたが、POST送信において何か他の手段があるのか教えて頂きたかった次第です、現時点でソケットでも上手くいっていませんが、、一度サンプルコードがあるか問い合わせてみます。

関連するQ&A

  • アメリカで、安くて安心なクレジット決済代行会社知りませんか?

    アメリカにおいて、会員費用等をクレジット決済できる代行会社で、 ユーザーが決済した時、自動で、決済しましたメールが送信されたり、管理画面や、フォーム等を提供している会社知りませんか? なるべく諸経費や月額費が安いとことが好ましいのですが。 また、マニュアル等も充実しているとありがたいです。 英語が苦手なので、日本人にやさしい会社だと助かります。

  • PHPのデータの受け渡しとフレーム

    PHPを最近始めた者なのですが、 データの受け渡しについてわからないことがあります。 あるページのフォームで入力したデータをフレーム構造のページへ受け渡したとします。(データを入力したページをAとします) これはページAに設置されているフォームのソースです。 <form action="フレームページ.php" method="post"> <input name=(省略)> <input type='submit' value='submit'> </form> フレームページで表示されるページをB、Cとします。 目的はページAで入力したデータをページB、Cに反映させることなのですが、どうしても構造上問題があるのか反映されません。 たぶん受け渡したいデータがフレームページにいってしまい、ページBとCには届いていないと思うのですが、なんとかページB、Cに渡す方法はないでしょうか? フォームのactionをページB.phpと直接打てばデータが反映されることは確認しています。

    • ベストアンサー
    • PHP
  • 接続元IPアドレス制限を回避する方法

    接続元IPアドレスが制限されたサイトがあります。そのサイトに許可されたIPアドレスを持つマシンを経由してアクセスする方法があれば教えてほしい。 マシンA;本来の接続元マシン マシンB;接続許可されたマシン サイトC;接続先 サイトCはマシンBのIPアドレスは接続許可しているがマシンAのIPアドレスは接続許可していない。このためマシンAからサイトCへは接続できない。マシンBからサイトCへは接続できる。マシンAからマシンBにVPN接続することはできる。 マシンAでアプリを起動し、VPNを通ってマシンBからサイトCへ接続すれば接続元IPアドレスの制限を回避できますか?できるのであればその方法を教えてほしい。

  • インプットフィールドが増えたり、名前が変わったりしてもPOSTされたデータを取得できるような書き方

    現在POSTデータを受け取る際、$_POST['インプットフィールド名']のように記述しているのですが、 フォームから送信されてきた全てのデータをもっと簡単に取得する事ってできませんか? 例えば ページ1にフォームAがあり、A1、A2、A3というインプットフィールドがあります。 ページ2にフォームBがあり、B1、B2、B3というインプットフィールドがあります。 どちらのフォームもページ3にPOSTされます。 現在だと、ページ3にこんな感じで書いています↓ if (フォームAのsubmitボタン名){  $data[] = $_POST[A1];  $data[] = $_POST[A2];  $data[] = $_POST[A3]; } else {  $data[] = $_POST[B1];  $data[] = $_POST[B2];  $data[] = $_POST[B3]; } しかしこれだと、フォームA、BからPOSTされるデータの数や名前が変わるとページ3も修正しないといけないですよね。 インプットフィールドが増えたり、名前が変わったりしてもPOSTされたデータを取得できるような書き方ってないのでしょうか。 可能か不可能か、可能であればどのように書けばいいのか、アドバイスをお願いします。

    • ベストアンサー
    • PHP
  • 値の受け渡し方法について

    たとえば、A_.phpというファイルがあって、 これで、ボタンがクリックされるとB_.phpに遷移し、location関数でC_.phpに遷移するものがあるとした場合。 A_.phpに記述されたデータを受け取り、内部処理を行うB_.phpに遷移させるのはいいのですが、そのデータをC_.phpにもPOSTさせる方法はあるのでしょうか? 教えてください。

    • 締切済み
    • PHP
  • PHPから他のPHPにPOSTして結果を得る方法

    a.phpから他サーバーにあるb.phpに入力されたデータをPOSTで送り、b.phpの「登録が完了しました」といった出力結果を、a.phpで処理したいと考えています。 PHPからPOST送信し、その結果を取得するにはどういった関数やコードがあるかを知りたいです。 よかったら回答をお願いします。

    • ベストアンサー
    • PHP
  • ショッピングカートのクレジット決済について

    タイトル通りショッピングカートをつけたいと思っています。 よくある形式で支払いはクレジットカードにしたいのですが SSLに対応しなければいけないなど初めてで概要すら よくわからないのですがどのような仕組みになっているのでしょうか? cgi,phpのフォーム設置などは経験がありますが 今回の件は初めてですので出来るだけわかりやすく 教えて頂ければ助かります。^^; よく決済代行サービスという言葉も聞きますが カードの決済番号などは重要な個人情報なので やはり代行の会社と提携した方が安全なのでしょうか?

  • webページをランダムで遷移する方法あります?

    ご覧いただきありがとうございました。 初心者です。今まで、form action=" " method="post"によるページ転移してます。 仮に、今、begin.php, a.php, b.php, c.php, end.phpの5つのページがあって、begin.phpから初めて、a.php, b.php, c.phpランダムの順番で転移したあと、最後end.phpに辿り着くのがやりたいことです。 上記を実現する方法がありますか?php, js等と併用するのは無論大丈夫です。 どうぞご指導のほどよろしくお願いします!

    • ベストアンサー
    • HTML
  • PHPからヘッダーなどを使ってPOST送信する。

    はじめまして、aimtakuと申します。 現在ショッピングシステムを開発しているのですが、 カード決済とコンビニ決済で、決済代行会社を使用する事になり、 色々調査をした所。最後の決済ページより、POSTでデータを送信しなければならない事が判明しました。 商品ページ⇒カート⇒決済ページ⇒確認ページ⇒注文完了ページ⇒決済代行会社へPOST送信といった流れになると思います。 そこで、注文完了画面より、PHPから$_GETのようにPOST送信する方法はありませんでしょうか? 色々調べてみたのですが、どうしてもわかりません。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • FORMで送信ボタンと戻るボタンを2つつけてそれぞれ遷移先を変えたい

       以下のような画面を作りたいのですが↓ -------------------------------------------------------------------------------- ● a.php (ユーザ情報入力画面) ※フォームに入力する画面    <FORM method="POST" action="b.php">   <INPUT type="text" name="mail">   <INPUT type="submit" name="submit" value="確認">  </FORM> ● b.php (ユーザ情報入力確認画面)※フォームに入力された値を表示する画面  <FORM method="POST" action="c.php">   <!-- ここには、フォームに入力された値を表示する -->   <INPUT type="submit" name="submit" value="登録"> // c.php に遷移する   <INPUT type="submit" name="submit" value="戻る"> // a.php に戻る  </FORM> ● c.php (完了画面) -------------------------------------------------------------------------------- b.php について質問なのですが、 b.phpにおいて、登録ボタンと戻るボタンを2つつけて、 それぞれ遷移先を変えたいのですが、どうすればいいんでしょうか・・・? <FORM method="POST" action="c.php">と書いてしまうと、 戻るボタンを押しても戻らずに、c.phpに遷移してしまいますよね?? こういう場合ってJavaScriptとかで遷移先を指定するんですか・・? もしそうでしたら、JavaScriptがよくわからないので できればサンプルコード示していただけると助かります・・・。