相关疑难解决方法(0)

如何强制用户通过HTTPS而不是HTTP访问我的页面?

我只有一个页面,我想强制作为HTTPS页面访问(Apache上的PHP).如何在不使整个目录需要HTTPS的情况下执行此操作?或者,如果您从HTTP页面向HTTPS页面提交表单,它是通过HTTPS而不是HTTP发送的吗?

这是我的例子:

http://www.example.com/some-page.php
Run Code Online (Sandbox Code Playgroud)

我希望它只能通过以下方式访问:

https://www.example.com/some-page.php
Run Code Online (Sandbox Code Playgroud)

当然,我可以把这个页面的所有链接指向HTTPS版本,但这并不能阻止一些傻瓜故意通过HTTP访问它...

我想到的一件事是在PHP文件的标题中放置一个重定向来检查以确保它们正在访问HTTPS版本:

if($_SERVER["SCRIPT_URI"] == "http://www.example.com/some-page.php"){
  header('Location: https://www.example.com/some-page.php');
}
Run Code Online (Sandbox Code Playgroud)

但这不是正确的方法,可以吗?

顺便说一句,请不要注意URL.我知道如果它实际上是一个有购物车等的页面,你会以不同的方式做到这一点.您可以将其视为一个网站,该网站以一个价格销售一件商品,您可以在其中输入您的信用卡信息,然后将其提交到外部网站上的支付网关,以便明确向您的卡收费一次.

php apache ssl https

133
推荐指数
9
解决办法
16万
查看次数

如何用PHP获取基本URL?

我在Windows Vista上使用XAMPP.在我的发展中,我有http://127.0.0.1/test_website/.

我如何http://127.0.0.1/test_website/使用PHP?

我试过这样的东西,但没有一个有用.

echo dirname(__FILE__)
or
echo basename(__FILE__);
etc.
Run Code Online (Sandbox Code Playgroud)

php

127
推荐指数
10
解决办法
52万
查看次数

PHP:HTTP还是HTTPS?

如何判断是否通过http或https访问了php页面?

php

43
推荐指数
3
解决办法
10万
查看次数

使用PHP检查是否使用SSL访问了页面

有没有办法检查当前页面是否使用SSL打开?例如,我希望我的登录页面(login.php)检查是否使用SSL(https://mywebserver.com/login.php)访问它.如果没有,请将它们重定向到页面的SSL版本.

差不多,我想让用户安全地使用该页面.

php ssl

35
推荐指数
4
解决办法
5万
查看次数

如何在PHP中重定向到同一页面

如何使用PHP重定向到同一页面?

例如,我的本地网址是:

http://localhost/myweb/index.php
Run Code Online (Sandbox Code Playgroud)

如何在我的网站内重定向到另一个页面,说:

header("Location: clients.php");
Run Code Online (Sandbox Code Playgroud)

我知道这可能是错的,但我真的需要把整个事情搞定吗?如果不是以后怎么http://localhost/办?

有没有办法做这样的事情?此外,我有很多代码,然后在完成处理一些代码后...我试图重定向使用它.这可以吗?

php redirect

32
推荐指数
5
解决办法
13万
查看次数

使用PHP检测SSL

可能重复:
如果您在没有$ _SERVER ['HTTPS']的情况下使用HTTPS,如何找出

我去网上寻找检测服务器是否使用HTTPS连接的方法,但没有一个网站似乎有所有答案(以及一些不同的答案).究竟是什么方法来检测服务器是否正在使用与PHP的HTTPS连接?我需要知道几种检测SSL的方法,因为我的一些脚本被重新分配,各种服务器处理不同的事情.

php ssl https

26
推荐指数
2
解决办法
6万
查看次数

PHP会话HTTP到HTTPS问题

我有一个(HTTPS)login.php页面,它仍然是HTTPS(即用户登录后进入帐户仪表板).现在问题是用户登录到安全仪表板时点击了非敏感页面(HTTP)about-us.php页面,会话不通过HTTP传输,因为我有session.cookie_secure = 1,这意味着用户似乎在HTTP页面上注销.

但是,当用户返回仪表板页面或任何敏感帐户页面时,我被告知他仍然应该登录(即从HTTP返回到HTTPS)?但事实并非如此,他似乎也登录了HTTPS连接?

我相信我错过了造成这个问题的事情.这是我的代码:

这是PHP头文件,在login.php页面上调用它来启动会话:

session_start();
session_regenerate_id(true); /*avoid session fixation attempt*/

/*Create and check how long session has been started (over 5 mins) regenerate id - avoid session hijack*/
if(!isset($_SESSION['CREATED'])) 
{
    $_SESSION['CREATED'] = time();/*time created session, ie from login/contact advertiser/email_confirm only ways for new session to start*/
} 
elseif(time() - $_SESSION['CREATED'] > 300) 
{
    /*session started more than 5 mins(300 secs) ago*/
    session_regenerate_id(true); /*change session ID for the current session and invalidate old session ID*/
    $_SESSION['CREATED'] = time(); /*update …
Run Code Online (Sandbox Code Playgroud)

php https http session-state

12
推荐指数
2
解决办法
1万
查看次数

当代理*始终*声明安全连接时检测SSL

我想检测用户是否正在查看安全页面,如果没有则重定向(用于登录).

但是,在我看到服务器变量和代理(现在)告诉我这$_SERVER['HTTPS']'on'URI明确指示的情况之前,我的网站通过代理.它还显示'on'用户何时"安全"导航.

导航http://https://输出$_SERVER['SERVER_PORT']= 443.

我没有能力对代理进行任何更改,所以我想知道:

  • PHP有任何其他选择让我发现真相或......
  • 我是否坚持使用JavaScript的检测和重定向机制.

我挖掘这个问题的想法,但他们主要围绕$_SERVER['HTTPS']变量值得信赖.呸!

似乎这个问题至少经历过类似的问题,但是他/她能够通过调整apache解决方案来解决它.

是否有任何其他PHP SERVER变量或技巧可用于检测用户的URI开头的内容?查看我的网站http与https时$ _SERVER变量之间的唯一区别如下:

  • _FCGI_X_PIPE_(随机出现)
  • HTTP_COOKIE(sto-id-47873包含在非安全版本中,但我没有把它放在那里)
  • REMOTE_ADDR(这和接下来的两个一直在莫名其妙地改变!)
  • 远程主机
  • REMOTE_PORT('代理人',你为什么不断改变这个?)

这些物品中的任何一个都足够坚固,可以在不分裂的情况下施加重量并在以后引起疼痛吗?也许我不应该相信通过代理过滤的任何东西,因为它可能在任何给定时间发生变化.

以下是我为此目的使用JavaScript的计划; 这是我最好的吗?

function confirmSSL() {
    if(location.protocol != "https:") {
        var locale = location.href;
        locale = locale.replace(/http:\/\//,"https://");
        location.replace(locale);
    }
}
<body onLoad="confirmSSL()">...
Run Code Online (Sandbox Code Playgroud)

我想如果用户在我的社区中禁用了JavaScript,那么他们希望知道他们在做什么.他们应该能够手动进入安全区域.什么样的<noscript>建议是司空见惯/良好做法?也许是这样的事情:

<noscript>使用https://blah.more.egg/fake导航以保护您的信息.</noscript>

有效的PHP解决方案(有很好的解释)将优先考虑正确的答案.随意提交更好的JavaScript实现或链接到一个.

非常感谢!

javascript php https proxy

6
推荐指数
1
解决办法
972
查看次数

检查当前请求是否安全(ssl)

在Symfony 2中,我想检查当前请求是否安全(SSL),并且我知道我们可以使用纯php执行此操作,例如检查$ _SERVER ['https'].但是,我想知道是否有任何Symfony方法/帮助器已经帮助我们确定?

symfony

3
推荐指数
1
解决办法
4039
查看次数

创建没有插件的面包屑

home->page->post当我们单击主菜单中的任何页面时,如何创建面包屑名称,打开该时间创建面包屑home ->page名称的帖子列表,但是现在当我们单击任何时间时,面包屑创建home->post类别name->post名称就是当我们单击帖子类别时面包屑布局上的名称显示不同,我们希望其转到页面链接,而不是类别链接。因此,当我们打开任何帖子时,我们都需要创建类似于该home->page name->post名称的面包屑,因此,当我们单击页面名称时,请打开帖子列表页面,而不是类别页面。

wordpress breadcrumbs

3
推荐指数
2
解决办法
7423
查看次数