Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> хранение информации, где? 
V
    Опции темы
Prompt
Дата 26.7.2006, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 22.2.2006

Репутация: нет
Всего: нет



Дело в том, что необходимо при управлении контентом входить на страницу администратора. Кроме администратора ни у кого паролей больше нет. Где хранить один единственный пароль? Не в базе данных же. 
И одновременно схожий вопрос. Администратор должен иметь возможность менять картинку. Всего картинки две. Но только одна может быть на сайте. Какая именно выбирает администратор. Как хранить информацию какая именно должна быть картинка? 
Есть идея хранить это все в обычном текстовом файле. 
Но может что-нибудь есть получше? 
PM MAIL   Вверх
Gold Dragon
Дата 26.7.2006, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Prompt, не парься и закрой полность директорию (или файл) на сервере через htpasswd

вот читай
http://forum.vingrad.ru/index.php?showtopi...amp;hl=htpasswd
 


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
szz
Дата 26.7.2006, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: 8
Всего: 33



А если у человека не апач? Или он делает переносимую программу, чтоб могла уснанавливаться и на IIS? Тут твой htpasswd накрывается медным тазиком.

   делай так: пароль шифруй в md5, потом конкетируй к результату какие-нибудь пару букв - и то что получится- опять md5 - результат сохраняй в файл. 
Т.е:
Код

$the_password = 'some password';
$encrypted_password = md5('lalala'.md5($the password));

   Когда админ входит - делаешь то же самое с вводимым паролем и проверяешь, совпадает ли с твоей шифровкой.

    Предупрежу вопрос: Зачем добавлять двойной md5?  А потому, что есть в сети куча огромных библиотек, содержащих уйму пар - пароль-его md5. По ним пароль много шансов найти (особенно если у тебя админ использовал какой-нибудь простенький пароль).

 Храни так:
Код

<?'encrypted_password_here'?>

   В отдельном php файле.
  И для сравнения вырезай его.
 Так если кто-то снаружи даже напишет имя этого файла - увидит просто пустую строку. 


--------------------
PM   Вверх
Prompt
Дата 27.7.2006, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 22.2.2006

Репутация: нет
Всего: нет



Это мне нравится. А как насчет запоминания того какую картинку выбрал администратор? 
PM MAIL   Вверх
Диман
Дата 27.7.2006, 02:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 20.7.2006

Репутация: -4
Всего: -9



Сделай это в базе данных.Для этого используй язык MYSQL. 
PM MAIL   Вверх
AztEK
Дата 27.7.2006, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: 6
Всего: 18



szz, мне кажется, это будет ненадёжно. Слишком большие коллизии.
И потом, что мешает оставить обычное хэширование? smile Хэш то никто видеть не будет smile 


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
jzZ
Дата 27.7.2006, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 17.7.2006

Репутация: 1
Всего: 2



Prompt
сделай эти две картинки как две большие кнопки ),
а дальше передавай это дело в сценарий
Код

<body>
<form name="1" action="" method="post">
<INPUT name="image" type="image" value= "picture1" src="1.jpg" WIDTH="60" HEIGHT="30">
<INPUT name="image" type="image" value= "picture2" src="2.jpg" WIDTH="60" HEIGHT="30">
</form>
</body>
</html>

ну а дальше примерный сценарий
Код

  if($image == picture1) {
    echo "picture1";
   } elseif($image == picture2) {
         echo "picture1";
      }

Ну в общем первое что приходит в голову, ну дальше измени по вкусу 
P.S. не компилил, может содержать ошибки даже логические ) 

Это сообщение отредактировал(а) jzZ - 27.7.2006, 08:44
PM MAIL   Вверх
jzZ
Дата 27.7.2006, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 17.7.2006

Репутация: 1
Всего: 2



ну echo это я так к примеру ) добавь переменную в $_GET и передай ее дальше сценарию какому хотел, не знаю какая цель у тебя 
PM MAIL   Вверх
Prompt
Дата 27.7.2006, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 22.2.2006

Репутация: нет
Всего: нет



Как выбрать картинку я понимаю, но как сохранить информацию, что именно эта картинка должна появляться при заходе обычного пользователя? Получается так, что администратор должен иметь право поменять внешний вид сайта. И вариантов вида у него всего два. 
PM MAIL   Вверх
jzZ
Дата 27.7.2006, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 17.7.2006

Репутация: 1
Всего: 2



Ну в бд, или в файле, можешь хранить в php файле, открываешь пишешь типа этого:
Код

$fr = fopen("scenarij.php", 'r+');
        if(!$fr) {
          echo "Невозможно открыть файл";
        }
       $text = "\$picture = "."'".$picture."'".";"."\n"."?>";
       fseek($fr,2);
       fputs($fr, $text);
       fflush($fr);
       fclose($fr);
}

дальше ставишь его на главную
include "scenarij.php";
Дальше просто показываешь переменную в нужном месте, т.е. картинку
echo($picture); 

Это сообщение отредактировал(а) jzZ - 27.7.2006, 11:42
PM MAIL   Вверх
GiV
Дата 27.7.2006, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 13.7.2006
Где: rus|53

Репутация: 4
Всего: 9



Цитата(AztEK @  27.7.2006,  07:58 Найти цитируемый пост)
szz, мне кажется, это будет ненадёжно. Слишком большие коллизии.
И потом, что мешает оставить обычное хэширование? smile Хэш то никто видеть не будет 

Способ с солью, предложенный szz, является стоиким к бруту + убирает слабые пароли. Первичный пароль в этом случае по словарику найти не получится уже никогда. 
PM MAIL WWW ICQ   Вверх
jzZ
Дата 27.7.2006, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 17.7.2006

Репутация: 1
Всего: 2



GiV
от брута есть очень хорошая функция sleep().
Указываешь задержку по три - пять секунд перед проверкой пароля ) не один брутер не вытерпит, если конечно это не цель всей его жизни поломать твой сайт ) 
PM MAIL   Вверх
AztEK
Дата 27.7.2006, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 723
Регистрация: 4.1.2005

Репутация: 6
Всего: 18



Цитата(GiV @  27.7.2006,  15:04 Найти цитируемый пост)
Первичный пароль в этом случае по словарику найти не получится уже никогда. 

Я про это и говорю. А вдруг найдется левый пароль, который из-за коллизий подойдет? ИМХО надо быть осторожным, создавая свои методы...

А всё-таки:
Цитата(AztEK @  27.7.2006,  10:58 Найти цитируемый пост)
И потом, что мешает оставить обычное хэширование?  Хэш то никто видеть не будет  

 


--------------------
Linux is like wigwam -- no windows, no gates, apache inside.
PM MAIL Jabber   Вверх
GiV
Дата 27.7.2006, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 137
Регистрация: 13.7.2006
Где: rus|53

Репутация: 4
Всего: 9



Цитата(jzZ @  27.7.2006,  12:08 Найти цитируемый пост)
от брута есть очень хорошая функция sleep().
Указываешь задержку по три - пять секунд перед проверкой пароля ) не один брутер не вытерпит, если конечно это не цель всей его жизни поломать твой сайт )  

Брут применяется на хэш, а не на систему логина =)


Цитата(AztEK @  27.7.2006,  12:15 Найти цитируемый пост)
А вдруг найдется левый пароль, который из-за коллизий подойдет? ИМХО надо быть осторожным, создавая свои методы...

в чистом мд5 тоже есть коллизии, но помимо этого чистый мд5 можно подобрать по словарю без коллизий. Так что лучше? 
PM MAIL WWW ICQ   Вверх
szz
Дата 27.7.2006, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: 8
Всего: 33



Цитата
Слишком большие коллизии.


    Нет шансов )))
  Если конкетация мд5 с солью х опять мд5 выдаст потом коллизию - то можно это репортить как грандиозное событие в истории мд5  smile 

Цитата
от брута есть очень хорошая функция sleep().

   Даже если у взломщика будет конечная строка в распоряжении - то брутом будете ее распаковывать столетиями - и через 2 года постоянного перебора получит мд5+соль - и охрененно обломается  smile 

   Даже один мд5 на строку длиннее 5 букв (если она не словарная) подбирать будешь несколько месяцев smile а в моем случае - взломщик окажется глубоко в заднице smile

Добавлено @ 12:31 
Цитата
в чистом мд5 тоже есть коллизии


  Блин, столько раз об этом слышал, но никогда не встречал!!!
 Дайте пожалуйста две строки - человеческие, не более 10 букв - которые бы дали коллизию smile  Интересно просто )))

Добавлено @ 12:33 
Кстати, именно так парольи в этом IPB используются - мд5+соль * мд5 (правда, соль генерится для каждого пароля, но она видна). И ничо, никто пока не жаловался )))
   В phpBB ваще простой одинарный md5, а он дико популярен )))  И ничо, все довольны! 


--------------------
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0569 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.