Olá pessoal, eu tenho cá umas dúvidas.
Eu tenho uma página que só deve ser acessada por mim, e já tentei o metodo do .htaccess, mas isto não funciona lá muito bem, porque vou sempre parar à página de erros 401 que diz autorização requerida, então estou a tentar fazer isto em PHP.
Quando alguém entrar na página, vai-se deparar com o "index.html", que é o seguinte:
Como podem ver, nesta form só há um espaço para inserir um username e a password, e depois "exportá-los" para o "createpost.php" que está no mesmo folder (será que isto é boa ideia ?).
Depois de inserir o username e a password, vamos ao "createpost.php", onde eu tentei fazer lá a autenticação... que deve tar uma boa marmelada lol...
No topo do file, temos isto:
Isto está certo ?
Até ao momento parece funcionar no entanto ainda é possivel entrar directamente na página sem passar pelo "index.html", o que significa que o
não está a funcionar...
É a primeira vez que estou a aventurar-me a fazer uma coisa destas e gostaria da vossa ajuda para fazer a minha página mais "hacker proof" lol...
Obrigado
Eu tenho uma página que só deve ser acessada por mim, e já tentei o metodo do .htaccess, mas isto não funciona lá muito bem, porque vou sempre parar à página de erros 401 que diz autorização requerida, então estou a tentar fazer isto em PHP.
Quando alguém entrar na página, vai-se deparar com o "index.html", que é o seguinte:
Código:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Olá João</title>
<meta name="GENERATOR" content="Quanta Plus" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
/* <![CDATA[ */
body{background:#211E20 url('bg-stripe.png') repeat;color:#AFAFAF;font-family:Verdana;}
#wrap{margin:0 auto;width:800px;}
input{width:800px;font-size:4em; border:1px #9F0 dashed;background:#211E20 url('bg-stripe.png') repeat;color:#F90; margin-top:1em;text-align:center;}
/* ]]> */
</style>
</head>
<body>
<div id="wrap">
<form action="createpost.php" method="post">
<input id="username" type="text" name="username" size="16" /><br />
<input id="password" type="password" name="password" size="16" /><br />
<input type="submit" value="Entrar" />
</form>
</div>
</body>
</html>
Como podem ver, nesta form só há um espaço para inserir um username e a password, e depois "exportá-los" para o "createpost.php" que está no mesmo folder (será que isto é boa ideia ?).
Depois de inserir o username e a password, vamos ao "createpost.php", onde eu tentei fazer lá a autenticação... que deve tar uma boa marmelada lol...
No topo do file, temos isto:
PHP:
<?php
// ob_start("ob_gzhandler");
$username = "username";
$password = "password";
if (!isset($_POST["username"]) && !isset($_POST["password"])) { header('http://joaojeronimo.freehostia.com/errors/?error=401'); exit; }
if ($_POST["username"] == $username && $_POST["password"] == $password) { $rejeitado = FALSE; } else { $rejeitado = TRUE; }
if ($rejeitado) { header('Location: http://joaojeronimo.freehostia.com/errors/password-errada.html'); exit; }
header("Cache-Control: no-cache, must-revalidate");
header('Content-type: text/html; charset=UTF-8');
print "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
?>
Isto está certo ?
Até ao momento parece funcionar no entanto ainda é possivel entrar directamente na página sem passar pelo "index.html", o que significa que o
PHP:
if (!isset($_POST["username"]) && !isset($_POST["password"])) { header('http://joaojeronimo.freehostia.com/errors/?error=401'); exit; }
É a primeira vez que estou a aventurar-me a fazer uma coisa destas e gostaria da vossa ajuda para fazer a minha página mais "hacker proof" lol...
Obrigado