如何在单个文件上强制使用HTTPS?(PHP)

Bin*_*ing 2 php .htaccess ssl https

我有一个处理信用卡处理的PHP文件.它以表格形式输入信用卡号,然后成为"确认"屏幕(显示信用卡号),然后再一次处理并显示结果.所有三个加载都将通过PHP提交完成(我意识到确认可能更好,因为Javascript,但我没有写它).它是目录中处理信用卡的唯一文件,因此它是唯一需要httpS连接的文件.

我尝试使用$ _SERVER数组强制执行此操作,查找用于从SCRIPT_URI(或其他条目)的前缀连接的协议,但没有一个具有前缀.

有没有一种简单的方法来使用同一目录中的.htaccess文件?如何仅针对一个文件强制执行该操作?如果还有其他简单方法,我该怎么做?

很抱歉这些问题,但到目前为止我的搜索还没有发现一个有效的解决方案,我担心我不知道最佳做法是什么.

谢谢!

dre*_*010 9

在完成所有信用卡处理的PHP页面的开头,您可以添加以下内容:

它将重定向回自身,除非https首先加载它http.当然,您仍需要为您的域安装SSL证书.

if (!isset($_SERVER['HTTPS']) || !$_SERVER['HTTPS']) { // if request is not secure, redirect to secure url
    $url = 'https://' . $_SERVER['HTTP_HOST']
                      . $_SERVER['REQUEST_URI'];

    header('Location: ' . $url);
    exit;
}
Run Code Online (Sandbox Code Playgroud)

我在PHP中使用相同的逻辑来保护我的整个域,方法是将其放在我的站点的每个请求开始时始终调用的文件中.