1

コードイグナイターに関する私の最初の質問。Paypal ライブラリを使用して、codeigniter に Paypal を統合しました。すべて正常に動作していますが、成功ページに戻ると、「エラーが発生しました:実行したアクションは無効です」というメッセージが表示されました。しかし、同じ成功ページに URL から直接アクセスできます (ブラウザに直接配置した場合)。

コントローラ

function form()
{
$this->paypal_lib->add_field('business', 'xxxxxxx@ymail.com');
$this->paypal_lib->add_field('return', site_url('checkout/paypal/success'));
$this->paypal_lib->add_field('cancel_return', site_url('checkout/paypal/cancel'));
$this->paypal_lib->add_field('notify_url', site_url('checkout/paypal/ipn')); 
$this->paypal_lib->
add_field($this->security->csrf_token_name,   $this->security->csrf_hash); 
}
function success()
{
  echo "success";
}   

ルート

$route['checkout/paypal'] = 'checkout/paypal/index';
$route['checkout/paypal/(:any)'] = "checkout/paypal/$1";

成功ページに直接アクセスして「成功」と表示されますが、ペイパルから戻ると「エラーが発生しました」と表示されます

apache log..getting 500 572 では、それが何を反映しているのかよくわかりません。

ありがとう

4

2 に答える 2

0

サイトのメイン構成ファイルを開き、CSRF 設定を確認します。私はかつて同様の問題を抱えていました.CSRF保護を無効にすることで解決しました.

$config['csrf_protection'] = FALSE;

違いはありますか?

于 2012-07-05T13:17:32.820 に答える
0
$config['csrf_protection'] = FALSE;

上記のコードはその状況でうまくいきますが、それをオフにするべきではないので、その場合:

$config['csrf_protection'] = TRUE;

$config['csrf_exclude_uris'] = array('controller/success_function');

トリックも行います。

于 2015-09-26T22:03:04.927 に答える