Защита с име и парола

spaidur

Registered
някои може ли да ми даде защита с име и парола за админ панел но да работи и да е качествена и да си работят сесиите нормално ... да могат да защитя няколко фаила в админ панела ми ... мерси
 
аз ползвам това например и им върши работа :)
Това го вмукваш най-горе в индекса на админ панела ти
Код:
<?php
session_start();

if (!isset($_SESSION['dostap']) && isset($_POST['vhod']) && $_POST['imeto'] == 'admin' && $_POST['pasa'] == 'admin') {
$_SESSION['dostap'] = TRUE;
}
if (!isset($_SESSION['dostap'])) {
?>
<table id="vhod" align="center" ><form method="POST" action="">
<tr><td>Име:</td><td><input type="text" name="imeto" size="25" class="user"/></td></tr>
<tr><td>Парола:</td><td><input type="password" name="pasa" size="25" class="pass"/></td></tr>
<tr><td></td><td align="center"><input type="submit" name="vhod" value="Вход"/></td></tr>
</form></table>
<?php
exit;
}
?>

Успех :)

А и забравих да кажа примерно когато отвориш друга страница в админ панела ще ти искара отново да популниш име и парола за целта правиш следното:
Във началото на всеки файл от админ панела добавяш най отгоре това
Код:
<?php
session_start();
ob_start();
if (!isset($_SESSION['dostap'])) {
header("Location: index.php"); }
?>
:)
 
Направил съм го да го пренасочва към Index.php но ти може да си го оправиш.

<?php
session_start();
ob_start();
if($_SESSION['is_logged']!==true)
{
echo '
<center>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<form method="POST" action="" />
Потребител: <br />
<input type="text" name="user" value="Потребителско име"/><br />
Парола: <br />
<input type="password" name="pass" value="Парола"/><br />
<input type="submit" name="submit" value="Вход"/><br />
</form>
Админ панела е достъпен само за
<br />
<b>Администраторите</b> на сайта!
</center>';

if(isset($_POST['submit']))
{
$user = trim($_POST['user']);
$pass = trim($_POST['pass']);


if($user == "Потребителско име" && $pass == "Парола")
{
$_SESSION['is_logged']=true;
$_SESSION['asd']=$user;

header('Location: index.php');
}
}
}
else
{
echo 'Здравей: '.$_SESSION['asd'].'';
}
?>
 
kikity_94 каза:
аз ползвам това например и им върши работа :)
Това го вмукваш най-горе в индекса на админ панела ти
Код:
<?php
session_start();

if (!isset($_SESSION['dostap']) && isset($_POST['vhod']) && $_POST['imeto'] == 'admin' && $_POST['pasa'] == 'admin') {
$_SESSION['dostap'] = TRUE;
}
if (!isset($_SESSION['dostap'])) {
?>
<table id="vhod" align="center" ><form method="POST" action="">
<tr><td>Име:</td><td><input type="text" name="imeto" size="25" class="user"/></td></tr>
<tr><td>Парола:</td><td><input type="password" name="pasa" size="25" class="pass"/></td></tr>
<tr><td></td><td align="center"><input type="submit" name="vhod" value="Вход"/></td></tr>
</form></table>
<?php
exit;
}
?>

Успех :)

А и забравих да кажа примерно когато отвориш друга страница в админ панела ще ти искара отново да популниш име и парола за целта правиш следното:
Във началото на всеки файл от админ панела добавяш най отгоре това
Код:
<?php
session_start();
ob_start();
if (!isset($_SESSION['dostap'])) {
header("Location: index.php"); }
?>
:)
това е добро но искам да попитам как ще стане да може да се излиза от тоя админ панел и да ми иска пак парола че вмомента ми запазва паролата и името и не ми ги иска повече
 
Когато се логнеш задай на сесията си expire time.
Слагаш този код в началото на админ страницата

Примерно:



Код:
<?php
session_start();
ob_start(); 
if (!isset($_SESSION['dostap'])) {
    $_SESSION['dostap'] = time();
} else if (time() - $_SESSION['dostap'] > 1800) {
    // session started more than 30 minates ago
    session_destroy();
    $_SESSION = array();
}
...................?>
 
или пък слагаш едно


if($_GET['go'] == "logout") {
session_destroy();
header("location: index.php");
}


получава се ето така:
Код:
<?php
session_start();

if($_GET['go'] == "logout") {
session_destroy();
header("location: index.php");
}

if (!isset($_SESSION['dostap']) && isset($_POST['vhod']) && $_POST['imeto'] == 'admin' && $_POST['pasa'] == 'admin') {
$_SESSION['dostap'] = TRUE;
}
if (!isset($_SESSION['dostap'])) {
?>
<table id="vhod" align="center" ><form method="POST" action="">
<tr><td>Име:</td><td><input type="text" name="imeto" size="25" class="user"/></td></tr>
<tr><td>Парола:</td><td><input type="password" name="pasa" size="25" class="pass"/></td></tr>
<tr><td></td><td align="center"><input type="submit" name="vhod" value="Вход"/></td></tr>
</form></table>
<?php
exit;
}
?>

и когато напишеш файлът.php?go=logout ще те logout-ва и ще ти иска пак парола.
 
freshbg1 каза:
или пък слагаш едно


if($_GET['go'] == "logout") {
session_destroy();
header("location: index.php");
}


получава се ето така:
Код:
<?php
session_start();

if($_GET['go'] == "logout") {
session_destroy();
header("location: index.php");
}

if (!isset($_SESSION['dostap']) && isset($_POST['vhod']) && $_POST['imeto'] == 'admin' && $_POST['pasa'] == 'admin') {
$_SESSION['dostap'] = TRUE;
}
if (!isset($_SESSION['dostap'])) {
?>
<table id="vhod" align="center" ><form method="POST" action="">
<tr><td>Име:</td><td><input type="text" name="imeto" size="25" class="user"/></td></tr>
<tr><td>Парола:</td><td><input type="password" name="pasa" size="25" class="pass"/></td></tr>
<tr><td></td><td align="center"><input type="submit" name="vhod" value="Вход"/></td></tr>
</form></table>
<?php
exit;
}
?>

и когато напишеш файлът.php?go=logout ще те logout-ва и ще ти иска пак парола.


Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\admin\index.php:1) in C:\wamp\www\admin\index.php on line 2
тази грешка ми дава иначе таботи
 

Back
Горе