いくつかのセクションを安全にする必要があるサイトがあります。SSL 証明書がインストールされており、メニュー項目からアクセスできる領域については問題ありません。メニュー項目エディタで SSL Enabled システム パラメータを使用するだけです。しかし、いくつかのセクション (つまり、ショッピング カートのチェックアウト画面) は、送信ボタンを介してのみアクセスできます (それらには独自の URL がありません。いわば、コントローラーを介して自分自身に送信され、ビューが変更されるだけです)。フォーム アクションに基づいています。) 現在、フォーム アクションは次のように設定されています。
<form name="instantForm" action="/<?=$this->segment?>/" method="post" onsubmit="updateSubmitValue()">
ここで、セグメントは view.html.php を介して渡されます。レンダリングされたフォーム タグは次のようになります。
<form id = "checkoutForm" name="checkoutForm" action="/checkout/" method="post" onsubmit="updateSubmit()">
送信されると、コントローラーは送信されたいくつかのフィールドの値を取得し、表示するビュー (保存されたアカウント情報または匿名トランザクションでログイン) を決定してから、正しいフォームを表示します。
以下は、コントローラーの display メソッドの簡略版です。
if (JRequest::getVar('checkoutCodeSubmitBTN') != ""){
//user has clicked Checkout button; go to billing info page
JRequest::setVar('view','checkoutpay');
// JRequest::setVar('view','checkout_thankyou');
//reference view
$viewCode =& $this->getView('checkoutpay','html');
$viewCode->voucher =& $voucher;
} //close test for step 1 if
表示されるビューが https URL に切り替わることを確認するにはどうすればよいですか?
私はすでにこれを google joomla dev ディスカッション グループに投稿しており、JRoute を使用して URL を生成し、フォームに投稿する代わりに setRedirect を使用するようにという応答を受け取りましたが、他の誰かが、JRoute を使用するとまったく新しい要求が生成されると応答しました。 、そのため、JRequest::getVar タイプのものへのアクセスはすべてなくなりました。フォームから投稿された変数にアクセスできるようにする必要があるため、解決策はありません。これを行う他の方法はありますか?私は Joomla 開発にかなり慣れていないため、利用可能なオブジェクトやメソッドの多くに慣れていません。