【问题标题】:Validating user authentication for all page验证所有页面的用户身份验证
【发布时间】:2009-11-03 11:53:58
【问题描述】:

我正在使用前端 PHP 上的 HTML 页面来编写服务器端脚本。现在的问题是我有配置页面,可以通过在 Mozilla 设置上禁用 javascript 来加载。

因为我使用 cookie 来验证 javascript

为了避免这种情况,我需要一些东西,我可以在不提示用户和验证返回页面的情况下调用一些 php 脚本 onload

问候 赫曼特

【问题讨论】:

    标签: php javascript html


    【解决方案1】:

    你不能调用 PHP onload(至少不能没有 ajax,但是你又回到了 javascript 船)。
    onload 是客户端事件,PHP 在服务器上运行...

    我真的看不出你在做什么,但我很高兴:
    您要做的是创建一个 PHP 脚本,该脚本捕获所有请求并在此人被自动化时呈现正确的页面。或类似的东西。

    【讨论】:

      【解决方案2】:

      您可以使用框架(例如使用 MVC 等),甚至是非常小的框架,然后在初始化 Controller 时验证您的请求。

      或者如果你想自定义代码:

      1. 使用重写(Apache 上的 .htaccess)捕获所有请求并通过 PHP 文件(例如 index.php)路由它们
      2. 此文件将对用户进行身份验证,然后分解请求的路由 (GET) 以将其发送到目的地:

        $route = $_GET['route'];

      【讨论】:

        【解决方案3】:

        一旦您成功通过了用户身份验证,将该信息存储在 $_SESSION 数组中。

        更多信息:

        【讨论】:

          【解决方案4】:

          您不能检查一下浏览器是否启用或禁用了 JavaScript 吗? 然后使用 PHP 会话?

          移除基于 javascript 的 cookie,并可能使用 php 会话来验证 登录,或使用 php cookie.. 这样网站不依赖于 javascript, 特别是如果它是一个安全问题..

          <script type=”text/javascript”>
              document.write('Javascript Loaded!');
          </script>
          <noscript>
             <div style=”color:#FF0000; font-weight:bold; text-align:center;”>
               Javascript must be enabled to see this site!
             </div>
             <meta http-equiv=”refresh” content=”0; url=http://www.yourdomain.com/nojs.php”>
          </noscript>
          

          这样您就可以将它们重定向到您的 php 页面进行处理..?

          【讨论】:

            【解决方案5】:

            我不确定您到底要问什么,但如果您想保护网站,并且不介意只有一个登录名/密码组合,您也可以使用 .htaccess。

            【讨论】:

              猜你喜欢
              • 2012-11-24
              • 1970-01-01
              • 2019-07-24
              • 2016-04-12
              • 1970-01-01
              • 1970-01-01
              • 2011-07-30
              • 2020-10-06
              • 1970-01-01
              相关资源
              最近更新 更多