1

フォーラム Web サイト (PHP の機能がない) から PayPal ボタンのクリックをインターセプトしているので、独自のサーバー (PHP がある) を使用して追加のセキュリティ情報を処理できます。

処理が完了したら、リクエスト データとともにユーザーを PayPal に返送したいと考えています。現在、機密データが送信されていないため、Location ヘッダーでかなり大きな GET クエリ文字列を使用しています。これは完全に正常に機能します。

ユーザーのアドレスバーにスパムを送信しないように、POST を純粋に使用したいと考えています。これには cURL を使用できると聞きましたが、それは PayPal への HTTPS 接続に本当に良い考えですか?

任意の提案をいただければ幸いです。

4

1 に答える 1

1

まあ、あなたは使うことができますCURL

/* Some params you wish to send */
$sEncodedParams = 'foo=Bar%20Baz&key=1234';

/* Create a new CURL Object */
$ch = curl_init();

/* Set the URL */
curl_setopt($ch, CURLOPT_URL, $sUrl);

/* Make CURL use POST */
curl_setopt($ch, CURLOPT_POST, true);

/* Add the POST-Data */
curl_setopt($ch, CURLOPT_POSTFIELDS, $sEncodedParams);

/* SET the Headers */
curl_setopt($ch, CURLOPT_HEADER, 0);

/* Execute the request */
curl_exec($ch);

/* Close CURL */
curl_close($ch);

このようなものを使用して、変数に返される応答を取得することもできます

/* Tell CURL to return the response into a variable instead of echoing it */
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

/* Save the response */
$sResponse = curl_exec($ch);

お役に立てれば

よろしく

編集:SSLサポートに加えて(なしCURL):

/* Timeout */
$iTimeout = 30;

/* EOL style */
$sEOL = "\r\n";

/* Some params you wish to send */
$sEncodedParams = 'foo=Bar%20Baz&key=1234';

/* Initialize the SSL-Socket */
$rSSLSocket = @fsockopen("ssl://www.domain.com", 443, $iError, $sError, $iTimeout);

/* Will contain the response data */
$sResponse = '';

/* If it worked */
if($rSSLSocket !== false) {

    /* Put whatever you need here */
    fputs($rSSLSocket, 'POST /path/here HTTP/1.0' . $sEOL);
    fputs($rSSLSocket, 'Host: www.domain.com' . $sEOL);
    fputs($rSSLSocket, 'Content-type: application/x-www-form-urlencoded' . $sEOL);
    fputs($rSSLSocket, 'Content-Length: ' . strlen($sEncodedParams) . $sEOL);
    fputs($rSSLSocket, 'Connection: close' . $sEOL . $sEOL);
    fputs($rSSLSocket, $sEncodedParams);

    while(!feof($rSSLSocket)) {
        $sResponse .= @fgets($rSSLSocket, 2048);
    }
    fclose($rSSLSocket);
} else {
    // ERROR
}

これが役立つことを願っています。fsockopenトリッキーになる可能性があるので注意してください

于 2012-06-18T08:30:37.967 に答える