php - 如何在某些页面上强制使用 HTTPS? (PHP)

标签 php ssl

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

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

有没有一个简单的方法来做到这一点...我想在 5 页主页、登录、注册、联系页面上使用 ssl,如果用户访问其他页面,那么他应该使用非 ssl 版本

很抱歉提出问题,但到目前为止,我在这里的搜索还没有找到可行的解决方案,恐怕我不知道最佳做法是什么。

最佳答案

在您想要的 php 页面上使用此代码:

if($_SERVER["HTTPS"] != "on")
{
    header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
    exit();
}

关于php - 如何在某些页面上强制使用 HTTPS? (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33690366/

相关文章:

php - MySQL 的 KEY 的 '_idx' 后缀是什么?

php - Laravel 说应用程序正在生产中,但 APP_ENV 是本地的

java - 使用嵌入式 tomcat 服务器进行 JUnit 测试,如何为 http 和 https 连接器指定自动端口?

php - .htaccess 在 SSL/端口 443 下被忽略

php - 解压在Linux上运行使用-d并一起覆盖

php - 在 session 中保存对象是一种好习惯吗?

c++ - OpenSSL 将消息拆分为两条记录

java - 如何使用 HttpClient 5 使 Conscrypt SSL Provider 在 Tomcat Web 应用程序中工作

google-app-engine - 使用 Google App Engine 自定义域的 SSL

ssl - 将 http 重定向到 https haproxy 使用 ssl passthrough