0

问题:如何在注册/登录(任何其他)php页面中使用https?伪代码:

is it https?
yes continue
no redirect same page via https

背景: 我想做安全的注册和登录表格。1. 我想通过所有步骤来检测我是否没有遗漏任何东西。2.我想特别问一下如何使用https来保护通往服务器的密码。

  • 添加1.步骤:a。用户单击链接注册/登录 => 检查注册/页面是否使用 https - 如果不重定向并使用 https(我这样做但不知道如何 - 问题的第二部分) b。所以现在我通过 https 连接到注册/登录页面,用户将密码设置为输入字段,这显然设置为输入类型密码(并且显然使用 post 方法),然后他
    按下提交按钮 - 因为我使用 post + https 数据应该安全地传递给服务器。C。现在注册/登录脚本已通过,并将其重定向到句柄页面,它可能是相同的 php 页面 - 我仍然应该使用 https。d。现在我通过 sha256 加密密码,例如 sha256(sha256(password)+salt),
    使用准备好的语句连接到数据库以防止 sql 注入 e. 如果输入数据正常注册完成(可以发送一些邮件但这是另一个问题,不需要在这里解决),如果它是登录并且密码适合我将一些数据放入会话 - 有关用户的信息,如 id + 权利,问题是:我是否仍应将 https 用于会员部分?我认为这并不重要,除非我想更改密码(我将再次使用 https 更改
    密码表格)。
  • 添加 2. HTTPS CONNECTION CHECK 用户单击登录/注册页面的链接,我应该执行以下操作:

    是 HTTPS 吗?YES => CONTINUE,NO => REDIRECT SAME PAGE VIA HTTPS 我知道有一些变量或东西告诉我它是否是 https,但我不知道如何在 php5 中编写它(这一行或两行)。所以问题是如何做第2点(HTTPS连接检查)?

4

1 回答 1

5

要检查请求是否通过 HTTPS 发出,请检查$_SERVER['HTTPS']

$https = !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off';
于 2013-10-27T11:48:10.903 回答