javascript - $_SESSION 破坏 url 中的参数(在 Angular 项目中)

标签 javascript php angularjs session

我们为客户构建了一个小型项目原型(prototype),由于我们的保密协议(protocol),该原型(prototype)需要密码保护。然而,即使我们已经登录,我们对 $_SESSION 变量的使用似乎也破坏了从辅助源输入时提供的参数。

这就是我们想要发生的事情:

www.externalsite.com -> oursite.com/#/route?param="value"

这就是发生的事情:

externalsite.com -> oursite.com/#/route?param="value"-> oursite.com/#/defaultRoute

如果有人能告诉我如何解决这个问题,那就太棒了 - 通过提供实际的解决方案或链接到可能帮助或引导我们指向正确方向的资源。

这是我们的index.php

!doctype html>
<html>
  <head>
    <title>prototype</title>
  </head>
  <body ng-app="angularApp" ng-controller="mainCtrl">

    <?php require('access.php'); ?>

    <div class="wrap">
        <!-- CONTENT -->
    </div>
  </body>
</html>

access.php:

<?php
$password = '43844e5d424a5c7d228f265f8c899d47a65cf52f';

session_start();
if (!isset($_SESSION['loggedIn'])) {
    $_SESSION['loggedIn'] = false;
}

if (isset($_POST['password'])) {
    if (sha1($_POST['password']) == $password) {
        $_SESSION['loggedIn'] = true;
    } else {
        die ('Incorrect password');
    }
} 

if (!$_SESSION['loggedIn']): ?>


<html>
  <head>
    <title>Login</title>
  </head>
  <body>
    <form method="post">
      <div class="form-group">
        <label for="passwordInput">Password</label>
        <input type="password" name="password">
      </div>
      <input type="submit" value="Login">
    </form>
  </body>
</html>

<?php
exit();
endif;
?>

最佳答案

session_start() 函数必须是文档中的第一个内容。在任何 HTML 标记之前。您需要将其移动到 index.php:

<?php
session_start();
?>
<!doctype html>
<html>
  <head>
    <title>prototype</title>
  </head>
  <body ng-app="angularApp" ng-controller="mainCtrl">

    <?php require('access.php'); ?>

    <div class="wrap">
        <!-- CONTENT -->
    </div>
  </body>
</html>

关于javascript - $_SESSION 破坏 url 中的参数(在 Angular 项目中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29825605/

相关文章:

javascript - 如何使用 javascript 发布预览表的信息

PHP OOP 在 create_function 中调用私有(private)函数作为回调

html - 根据高度排列列

html - 将登录页面添加到现有的 angularjs metronic 主题

jquery - AngularJS E2E : Find element by tag name

javascript - MagicZoom JS 问题

javascript - 使用 Node.js 编辑 mysql 中的现有行

php - 如何使用jquery自动完成从mysql数据库加载数据?

javascript - 来自 AutoCad 2011 的 XML 文件

javascript - 直接 float 在内容旁边的粘性侧边栏,由 js 插入