我正在尝试为我的网页添加一些安全性。
我的网页“page.html”有很多 javascript 脚本和 html 代码。我可以将扩展名更改为 php。对于那件事我没有任何疑问。
我正在使用我在互联网上找到的示例代码来了解 session_start 的工作原理。如果我有 html 扩展名,它可以正常工作,但即使我不添加用户并通过,我也可以访问网页。如果我使用 php 扩展程序,网页会再次将我抛出到登录提示。使用 php 扩展程序,当我在浏览器上编写网页时,我无法访问该网页。
这是我检查访问的代码:checkAccess.php
<?php
session_start();
//check the autenticated value
if ($_SESSION["autenticado"] != "si") {
//if doesn't exits, goes to login webpage
header("Location: login.php");
exit();
}
?>
我在 html 和 php 网页上添加了这一行:
<?php include "checkAccess.php";?>
我知道它有效,因为我可以访问我的 html 页面。但是当我将扩展名更改为 php 时,它不起作用。
我是否必须在 php.ini 或类似的东西中配置任何值?
我添加我的其他 php 文件来检查会话:
autenticacion.php:
<?
session_start();
if ($_POST["usuario"]=="user" && $_POST["contrasena"]=="123456"){
$_SESSION["autenticado"]= "SI";
header ("Location: mypage.php");
}else {
header("Location: login.php?errorusuario=si");
}
?>
登录.php:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Autenticación PHP</title>
</head>
<body>
<h1>Formulario de autenticación</h1>
<?php if(isset($_GET['errorusuario'])){if ($_GET['errorusuario']=="si"){?>
<font color="red"><b>Datos incorrectos</b></font>
<?php }}else{?>
Introduce tu nombre de usuario y contraseña
<?}?>
<form action="autenticacion.php" method="POST">
<table border="0">
<tr><td>Nombre de usuario:</td><td><input name="usuario" size="25" value=""/></td></tr>
<tr><td>Contraseña:</td><td><input name="contrasena" size="25" type="password"/> </td></tr>
<tr><td/><td><input type="submit" value="Inicio de sesión"/></td></tr>
</table>
</form>
Para ingresar, débes ingresar <b>pablo</b> en el 1er campo y <b>123456</b> en el 2do.
</body>
</html>
我正在使用 xampp 来测试页面。