Joomla 如何对非菜单项使用SSL/https?
我们有一个网站,需要有几个部分是安全的。我们有 我们的SSL证书已安装,并且适用于可访问的区域 通过菜单项,这没有问题-我们只使用支持SSL的系统 菜单项编辑器中的参数。但我们有几个部分,即a 只有通过提交才能访问的购物车结账屏幕 可以说,他们没有自己的URL,他们只是 通过控制器提交给他们自己,并且基于 关于形式行动。现在,表单操作的设置如下:Joomla 如何对非菜单项使用SSL/https?,joomla,joomla-extensions,Joomla,Joomla Extensions,我们有一个网站,需要有几个部分是安全的。我们有 我们的SSL证书已安装,并且适用于可访问的区域 通过菜单项,这没有问题-我们只使用支持SSL的系统 菜单项编辑器中的参数。但我们有几个部分,即a 只有通过提交才能访问的购物车结账屏幕 可以说,他们没有自己的URL,他们只是 通过控制器提交给他们自己,并且基于 关于形式行动。现在,表单操作的设置如下: <form name="instantForm" action="/<?=$this->segment?>/" method=
<form name="instantForm" action="/<?=$this->segment?>/" method="post" onsubmit="updateSubmitValue()">
<form id = "checkoutForm" name="checkoutForm" action="/checkout/" method="post" onsubmit="updateSubmit()">
如何确保显示的视图被切换
转到https URL
我已经在google joomla dev讨论组上发布了这篇文章,并得到了一个回复,告诉我使用JRoute生成URL,并使用setRedirect而不是发布到表单,但后来有人回复说使用JRoute会生成一个全新的请求,所以您对JRequest::getVar类型的所有访问都消失了。我们需要能够访问通过表单发布的变量,以便解决问题。有人有其他的方法吗?我对Joomla开发相当陌生,对很多可用的对象和方法都不熟悉。我从一些人那里听说JRoute更适合于此,但这只有在您知道所需的URL时才起作用;我们必须根据当前请求动态构建URL,所以我使用了JURI 在my view.html.php中,我添加了以下代码:
$needSecure = $model->needSecure();
if($needSecure) {
$u =& JURI::getInstance( JURI::base() );
$u->setScheme( 'https' );
$tmpURL = $u->toString()."checkout";
}
else {
$tmpURL = "/checkout";
}
$this->assignRef("tmpURL", $tmpURL);
needSecure是我模型中的一个函数,它从数据库表中提取一个值并返回一个布尔值。因此,如果needSecure返回true,我们将获取当前请求URI,将第一部分设置为https,然后追加提交的位。如果返回false,我们只需设置要提交的位
在default.php中,我们有:
<form id = "checkoutForm" name="checkoutForm" action="<?=$this->tmpURL?>/" method="post" onsubmit="updateSubmit()">
如果needSecure为true,则该操作将呈现为
<form id = "checkoutForm" name="checkoutForm" action="https://www.mysite.com/checkout" method="post" onsubmit="updateSubmit()">
<form id = "checkoutForm" name="checkoutForm" action="/checkout" method="post" onsubmit="updateSubmit()">
否则,它将导致
<form id = "checkoutForm" name="checkoutForm" action="https://www.mysite.com/checkout" method="post" onsubmit="updateSubmit()">
<form id = "checkoutForm" name="checkoutForm" action="/checkout" method="post" onsubmit="updateSubmit()">
它工作得很好,因为我们将布尔值存储在数据库中,这意味着如果我们想使新表单提交安全或不安全,就不必更改代码本身。您使用的是什么购物车扩展?我们自己构建的扩展。我确实弄明白了这一点;我会在几分钟后公布答案。