PHPページで表されるいくつかのモジュールを含むOpencartを変更しています。ただし、私の質問は、次のような場合に当てはまります。したがって、これをオープンカート固有の質問にする必要はありません。
1 つのモジュール/PHP ページが作業を完了した後にリダイレクトする方法を変更したいと考えています。
私が行ったことは、問題のモジュールを変更してセッション変数を処理し、リダイレクト先の URL を変更することです。
カスタムページ
if ( !$this->customer->isLogged() ) {
$this->session->data['redirect'] = $this->url->link('account/blah');
$this->redirect($this->url->link('account/register', '', 'SSL'));
}
リダイレクトが変更されたページ
if (isset($this->session->data['redirect'])) {
$this->redirect($this->session->data['redirect']);
}
動作しますが、安全だとは思いません。それを改善するために何ができるでしょうか?
PS: opencart でリダイレクトが実際に処理される方法は次のとおりです。
protected function redirect($url, $status = 302) {
header('Status: ' . $status);
header('Location: ' . str_replace(array('&', "\n", "\r"), array('&', '', ''), $url));
exit();
}