【问题标题】:php user-level session persistencephp 用户级会话持久化
【发布时间】:2015-09-28 12:35:24
【问题描述】:

我有一个用例,我需要能够从本地服务器访问我的站点。具体来说,它用于将各个页面的部分内容从 html 到 pdf 导出,但这对于测试网站的某些部分也很有用。

问题是我们有一个登录启动页面,在我可以访问网站的任何部分之前需要处理它。如果我可以调用一个命令 "wkhtml2pdf 'localhost/[myurl]'" 并让它 pdf 一些东西,那就太好了,但它会点击这个启动页面。

有什么方法可以让我只在服务器上永久保留一个会话?或者从本地主机启用无登录访问?或者我可以添加一个新的 apache 条目来访问我们的网站,只将 localhost 列入白名单并以某种方式绕过登录?

有人在处理这个问题吗?最好的解决方案是什么?

-斯科特!

【问题讨论】:

  • 有很多方法可以做到这一点。一个可能很明显的方法是将逻辑和视图分开,这样就可以触发生成所需的 HTML 而不会触发启动画面。如果用户的 IP 是 127.0.0.1,另一种可能性是不显示启动屏幕。有很多选择。

标签: php apache session testing


【解决方案1】:

您可以将会话 cookie 作为参数传递给 wkhtml2pdf 来解决您的问题。 您也可以像这样从 php 文件中执行它。

exec("wkhtmltopdf --cookie '{$cookieName}' '{$cookieValue}' http://example.com");

【讨论】:

    【解决方案2】:

    现在征求对此解决方案的反馈:我在登录脚本中通过 $_SERVER['REMOTE_ADDR'] 将 localhost 列入白名单,以绕过通常的用户身份验证并获得自动 localhost 用户登录。然而,服务器在大学 LAN 上运行,因此 LAN 可能非常大,可能会启用双向 TCP 欺骗。我应该担心这一点,还是有人需要路由器的管理员权限或其他什么?我相信 IT 人员,但不只是网络上的任何笨蛋......

    我意识到这听起来像是一个单独的问题,但我认为安全性与这是否是一个好的解决方案有关,所以......是的。

    【讨论】:

      猜你喜欢
      • 2015-09-09
      • 2015-11-30
      • 2019-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多