Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

23.12.2008, 18:28
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
Сообщение от Byrger
Я написал админку для сайта, как её можно запаролить?
Если не трудно дайте примеры
Если ты ее написал то в чем проблема то? Не написать простую логинку?
PHP код:
<?php
if($_GET['pass'] != '1234')
{
header('Location: index.php');
exit('Тебе тут нечего делать :-p');
}
//код админки
?>
Как ты понял пароль передаётся гетом
|
|
|

23.12.2008, 18:44
|
|
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме: 791766
Репутация:
61
|
|
Так отлично а если у меня админку загружать отдельным скриптом...
Допустим:
PHP код:
<?php
if($_GET['pass'] != '1234')
{
header('Location: index.php');
exit('Тебе тут нечего делать :-p');
}else{
require_once("adminka.php");
}
?>
То как поставить проверку скрипту adminka.php
Чтоб нельзя было в него просто зайти...
|
|
|

23.12.2008, 18:49
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
ну так сделай
else {
define('IN', true);
require...
}
в самом файле if(!defined('IN')){exit;} - как стандарт
|
|
|

23.12.2008, 19:06
|
|
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме: 791766
Репутация:
61
|
|
Сообщение от GreenBear
ну так сделай
else {
define('IN', true);
require...
}
в самом файле if(!defined('IN')){exit;} - как стандарт
Этот способ мне не подойдёт...мне нужно чтоб именно станица adminka.php открывалась...
Там ссылок много...когда по ним щёлкаешь всё сбрасывается...
Может в Куки пасс записать просто?
|
|
|

23.12.2008, 19:19
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
да тут логики со 2 класса хватит. как хочешь так и делай.
|
|
|

23.12.2008, 19:20
|
|
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме: 5321514
Репутация:
3313
|
|
Сообщение от Byrger
Этот способ мне не подойдёт...мне нужно чтоб именно станица adminka.php открывалась...
Там ссылок много...когда по ним щёлкаешь всё сбрасывается...
Может в Куки пасс записать просто?
Ну можно, я предпочитаю сессии:
secure.php:
PHP код:
<?php
@session_start();
if(@$_SESSION['pass'] != '1234')
{
if(isset($_POST['submit']))
{
$_SESSION['pass'] = $_POST['pass'];
header('Location: '.$_SERVER['PHP_SELF']);
}
else
{
?>
<form method='post'><input name='pass'><input name='submit' type='submit'></form>
<?php
}
die();
}
?>
А в файлы куда надо вставить защиту пишешь в самое начало файла:
Идея слудующая:
проверяется наличие валидного пасса в сессии, если он верен то отображаетс админка, если нет, то вылазиет форма авторизации.
P.S код не тестил, писал в браузере
Последний раз редактировалось ChaaK; 23.12.2008 в 19:22..
|
|
|

23.12.2008, 23:14
|
|
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме: 519496
Репутация:
78
|
|
Код файла login.php
PHP код:
<?php
define("LOGIN", "demo");
define("PASSWORD", "demo");
define("MODE", TRUE); // TRUE - сравнивать логин и пароль без учёта регистра, FALSE - с учётом
if(isset($_POST['log']) && isset($_POST['passwd']) && is_logined(MODE)) {
setcookie('login', $_POST['log'], time()+31536000);
setcookie('passwd', $_POST['passwd'], time()+31536000);
}
function is_logined($register) {
if($register == false) {
if(($_COOKIE['login'] == LOGIN && $_COOKIE['passwd'] == PASSWORD) || ($_POST['log'] == LOGIN && $_POST['passwd'] == PASSWORD)) {
return true;
}
} else if($register == true) {
if((strcasecmp($_COOKIE['login'],LOGIN)==0&&strcasecmp($_COOKIE['passwd'],PASSWORD)==0) || (strcasecmp($_POST['log'],LOGIN)==0&&strcasecmp($_POST['passwd'],PASSWORD)==0)) {
return true;
}
}
return false;
}
$form=<<<FORM
<html>
<head>
<title>Авторизация</title>
<style>
body
{
padding-left:350px;
font-family:tahoma, verdana, arial;
font-size:11px;
text-align:center;
color:#000000;
}
table
{
border:1px solid #D1D1E1;
margin:50px;
padding:10px;
}
tr
{
text-align:center;
}
input
{
text-align:center;
pargin:2px 0;
padding-right:10px;
padding-left:20px;
border:1px solid #D1D1E1;
background:#ffffff;
padding:2px;
}
</style>
</head>
<body>
<table>
<form method="post">
<tr>
<td>
<br/>
Login:<input type="text" title="Введите Login" name="log" />
<br/>
<br />
Password:<input type="password" title="Введите пароль" name="passwd" />
<br/>
<br />
<center><input type="submit" name="sub" value=" Login " /></center>
<br/>
</td>
</tr>
</form>
</table>
</body>
</html>
FORM;
if(is_logined(MODE)) {
require_once('info.php');// страница для которой надо открыть доступ
} else
{
echo $form;
}
?>
Для открытия доступа к другим страницам, вначале страницы пропиши
PHP код:
<?php
require_once('login.php');
if(!is_logined(MODE)) {
exit();
}
?>
|
|
|

23.12.2008, 23:41
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
господа, имхо вы занимаетесь выковыриванием соплей из жопы.
пример с константами, который привёл GreenBear помоему самый адекватный.
Или ещё как вариант защитить паролем через .htaccess
Код:
AuthName "PREVED MEDVED"
AuthType Basic
AuthUserFile /www/.htpasswd
require valid-user
и соответственно файл .htpasswd с логинами и паролями.
|
|
|

24.12.2008, 12:23
|
|
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме: 791766
Репутация:
61
|
|
Фаил .htpasswd я создал и занёс пароли через прогу
Но почемуто пароль не подходит...
Писал так:
C:\adenki.ru\htpasswd.exe -mc .htpasswd user
там вводил пароль :123456
В фойле получилось такое:
PHP код:
user:$apr1$Q/2.....$xkh4ilfOTuG4z7Ym0Jkda1
Последний раз редактировалось Byrger; 24.12.2008 в 12:28..
|
|
|

24.12.2008, 12:26
|
|
Banned
Регистрация: 19.12.2007
Сообщений: 924
Провел на форуме: 4192567
Репутация:
2145
|
|
http://www.ifstudio.org/seo/crypt.php
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|