Защита на страниця

ExTaZy

Registered
Здравейте! Трябва ми малка логин системка на страницата ми ,но не можах да намеря само логин.. Има с регистер ,логин пм и т.н. ,но не и само логин.. Та трябва ми нещо наистина дето не може да се хакне (ай ся чак толкоз ама се пак да не е на view source..).Само логин система и да може да се сложат още потребители.Аз бях намерил нещо такова
Код:
<?php
include('conf.php');
session_start();
$name[] = "user1"; $pass[] = "pass1"; // Username for login 1
$name[] = "user2"; $pass[] = "pass2"; // Username for login 2
//You can add as much users you want.

function loginform(){ //The form that unlogged users will use
echo '<fieldset style="padding: 2">';
echo '<legend>Login</legend>';
echo '<form method=post action="?">';
echo 'Name: <input type=text name=username value="' . $_POST[username] . '">'; //The name
echo '<br>';
echo 'Pass: <input type=password name=pass>'; //The password
echo '<br>';
echo '<input type=submit name="s1" value="Login">'; // The submit button
echo '</form>';
echo '</fieldset>';
}


if($_GET['action'] == "logout"){ // Logging out
$_SESSION['loggedin'] = false;
$_SESSION['username'] = "";
}

if($_SESSION['loggedin'] == false){ // Protection from NULL logins
if(!$_POST['s1']){
loginform();
}else{

$tmpname = $_POST['username']; #the username the user has submitted
$tmppass = $_POST['pass']; #the password the user has submitted

$t = count($name); #count the total users
$i = 0;

while($i <= $t){
if($tmpname == $name[$i] && $tmppass == $pass[$i]){ //Checking

$_SESSION['loggedin'] = true;
$_SESSION['username'] = $name[$i];
header('Location: ?'); #reload the page
}
$i++;
}
echo "Your attempt is invalid.IP stored."; //If something is wrong
loginform(); #show the form
}
die; // if something is wrong , destroy it
}
?>

<center><br>Welcome <?php echo $_SESSION['username']; ?>
<br><a href="?action=logout">Logout</a> . </center>
<br>
но по някакви причини ми показва ,че хедърите вече са изпратени и не тръгва.. Оправих хедърите после пък тва Fatal error: [] operator not supported for strings in E:\websrv\xampp\htdocs\dot\add.php on line 4 . Та ако някой може да го оправи или да ми го намери (мисля ,че тука беше) ще съм му много благодарен.. Или просто да ми даде 1 нова :)
 
Избирай си ->
http://web-tourist.net/login/login/view.php?st=771
http://web-tourist.net/login/login/view.php?st=2275
http://web-tourist.net/login/login/view.php?st=2129
http://web-tourist.net/login/login/view.php?st=1545
http://web-tourist.net/login/login/view.php?st=1333
http://web-tourist.net/login/login/view.php?st=1218
http://web-tourist.net/login/login/view.php?st=707
http://web-tourist.net/login/login/view.php?st=1485
http://web-tourist.net/login/login/view.php?st=802
http://iwanov.hopto.org/log.rar
http://iwanov.hopto.org/register.rar
http://iwanov.hopto.org/reg.zip
http://biorust.com/tutorials/php-sources/php-membership.zip
http://scripts.ringsworld.com/user-authentication/i-auth.zip
http://php.about.com/od/finishedphp1/ss/php_login_code.htm
http://evolt.org/PHP-Login-System-with-Admin-Features?from=350&comments_per_page=50
http://www.roscripts.com/PHP_login_script-143.html
http://php-login-script.com/
 
Ако е само за една страница спокойно можеш да направиш това:
<?php
if (isset($_POST['username']) && $_POST['username']!=$username && $_POST['password']!=$password){
?>
<form action="index.php" method="POST">
<table>
<tr>
<td>Username:</td><input type="text" name="username"><td></td>
</tr>
<tr>
<td>Username:</td><input type="password" name="password"><td></td>
</tr>
</table>
</form>
<?php
die();
}
?>

Тук отдоло е кода, който искаш да защетиш.
 
Е, за да се логнеш, нали първо трябва да се регистрираш :D Да не си измислил някаква нова логин с-ма? Като не искаш да се регистрират други, просто не пускаш линк към регистрацията :)
 
Да ,но проблема е ,че е за админ панел.. Трябват ми само няколко логина (както горната системка която не бачка вече..) и това е :)
 
<?php
$username="user";
$password="pass";
if ((isset($_POST['username']) && ($_POST['username']!=$username || $_POST['password']!=$password) ) || !isset($_POST['username'])){
?>
<form action="" method="POST">
<table border="1">
<tr>
<td>Username:</td><td><input type="text" name="username"><td></td>
</tr>
<tr>
<td>Password:</td><td><input type="password" name="password"><td></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit"></td>
</tr>
</table>
</form>
<?php
die();
}
?>

Taka бачка.
 
Добре. Сега излизам, като се прибера ще ти напиша, ако не си се оправил или някой не ме е изпреварил :)
 
Току що ти прочетох горният пост, щом е за админ панел няма да ти свърши работа, кажи къде ще съхраняваш данните за потребителите и колко страници искаш да защитиш?
 

Back
Горе