我在Codeigniter建立了一个定制网站,我的客户通过PayPal获得订单。
正在发生的问题是我编写了网站,以便在PayPal订单完成且返回返回网站时,预订会更新为付款。
我注意到有些订单,客户没有返回网站,因为有时候"不安全的数据"你可以在大多数浏览器中使用弹出窗口。
我认为,解决此问题的方法是将返回页面设为https:// page。
所以我想知道如何将CI中的配置更改为仅在该页面上的https://链接。
可能还有其他方式,我愿意接受建议。
我也在考虑更新订单的IPN路线,但不太确定那个。
由于
答案 0 :(得分:3)
使用MY_url_helper助手。 将以下代码添加到帮助程序中,并在您强制使用ssl时使用它。
<?php
function ssl_support() {
$CI = & get_instance();
return $CI->config->item('ssl_support');
}
if (!function_exists('force_ssl')) {
function force_ssl() {
if (ssl_support() && (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'off')) {
$CI = & get_instance();
$CI->config->config['base_url'] = str_replace('http://', 'https://', $CI->config->config['base_url']);
redirect($CI->uri->uri_string());
}
}
}
if (!function_exists('remove_ssl')) {
function remove_ssl() {
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
$CI = & get_instance();
$CI->config->config['base_url'] = str_replace('https://', 'http://', $CI->config->config['base_url']);
redirect($CI->uri->uri_string());
}
}
}
}
答案 1 :(得分:1)
我会说将所有内容放在一个文件夹中并使用SSL进行操作?
application / config / config.php,设置基本网址:
$config['base_url'] = "https://www.yoursite.com/";