Reply to this topicStart new topicStart Poll

создание куки

, создание куки
meravaz
Отправлено: Oct 28 2011, 11:58 PM
Quote Post


  Генерал
*

Группа: Members
Сообщений: 266
Пользователь №: 1600
Регистрация:
22-May 08



хотел создать на сайте страницу доступ к которой будет только у меня, точнее через мой компьютер,

и как я понял оптимальнее всего здесь подходит создание куки на моем сайте и компе.... но как это сделать?
есть у кого нить реальный пример?

Спасибо.


--------------------
PMEmail Poster
Top
gregst
Отправлено: Oct 29 2011, 12:40 AM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 1012
Пользователь №: 1169
Регистрация:
28-September 07



а не проще сделать доступ к этой странице по паролю через .htaccess и .htpasswrd ?
PMEmail Poster
Top
Матроскин
Отправлено: Oct 29 2011, 08:48 AM
Quote Post


  Генерал
*

Группа: Members
Сообщений: 245
Пользователь №: 2581
Регистрация:
9-June 09



QUOTE (meravaz @ Oct 28 2011, 10:58 PM)
хотел создать на сайте страницу доступ к которой будет только у меня, точнее через мой компьютер,

и как я понял оптимальнее всего здесь подходит создание куки на моем сайте и компе....

Куки предназначены не для авторизации, а для хранения некой информации о пользователе, в частности их используют для функции "Запомнить меня на этом компьютере", чтобы пользователь успешно авторизовавшись некоторое время (срок жизни куки) мог заходить из браузера с кукой без авторизации - сервер проверяет есть ли у клиента установленная сервером кука и, если есть, то открывает для клиента сессию, если же куки нет, то пользователь должен пройти процесс авторизации.
Само ограничение доступа осуществляется посредством сессий или http-аутентификации. Чтобы не заморачиваться, можно использовать второй вариант ограничения доступа, этот вариант предоставляется большинством хостеров через панель управления.
Если хочется попробовать самому, то могу порекомендовать свой урок, в котором, надеюсь, довольно понятно изложен процесс создания авторизации на сессиях - создание простой системы авторизации


--------------------
PMEmail PosterUsers Website
Top
meravaz
Отправлено: Oct 29 2011, 10:13 PM
Quote Post


  Генерал
*

Группа: Members
Сообщений: 266
Пользователь №: 1600
Регистрация:
22-May 08



QUOTE (Матроскин @ Oct 29 2011, 08:48 AM)
Если хочется попробовать самому, то могу порекомендовать свой урок, в котором, надеюсь, довольно понятно изложен процесс создания авторизации на сессиях - создание простой системы авторизации

Спасибо большое, очень сильно помогли, по ссылке все очень доступно и просто объяснено. в нормальной пропорций подана теория и практика.

еще раз спасибо большое.


--------------------
PMEmail Poster
Top
Матроскин
Отправлено: Oct 29 2011, 11:57 PM
Quote Post


  Генерал
*

Группа: Members
Сообщений: 245
Пользователь №: 2581
Регистрация:
9-June 09



Пожалуйста smile.gif


--------------------
PMEmail PosterUsers Website
Top
meravaz
Отправлено: Oct 30 2011, 02:30 PM
Quote Post


  Генерал
*

Группа: Members
Сообщений: 266
Пользователь №: 1600
Регистрация:
22-May 08



QUOTE (Матроскин @ Oct 29 2011, 11:57 PM)
Пожалуйста smile.gif

были несколько вопросов по Вашему материалу, я их изложил в комментах на странице, надеюсь узнаю ответ smile.gif

но есть еще один вопрос, но его уместнее здесь задать

ниже код моей админки, в нее загрузил папку tinymce (скачано с http://www.tinymce.com) , и теперь не знаю как установить редактор в "бивалку новостей" sad.gif

может подскажите что нить?

CODE
<?php
require "auth.php";
?>
<p><a href="index.php">Главная</a> | <a href="contact.php">Контакты</a> | <a href="admin.php">Админка</a> | <a href="admin.php?do=logout">Выход</a></p>
<hr />
Это страница администратора
<br />
<?
function show_form(){
       // подключаем файл с настройками подключения к БД
       require 'connect.php';

       //делаем запрос к БД, на данный момент на следующие две строчки не стоит обращать внимание, объясню их потом, посокльку на данном этапе они еще не используются.
       $result = mysql_query("SELECT * FROM pages WHERE id = '".$_GET['id']."';", $link);
       $row = mysql_fetch_array($result);
?>
     
<form action="" method="post">
<table cellspacing="1" cellpadding="2" bgcolor="#1F2760">
<tr bgcolor="#B0ADC3">
 <td><p>Текст страницы</p></td>
</tr>
<tr bgcolor="#ffffff">
 <td>
     <textarea name="body" rows="20" cols="59" class="enter">
               <?// "<?=" тоже самое, что и "<? echo", т.е. вывод на экран, что выводим объясню позже;-) ?>
               <?=stripslashes($row['body']);?>
     </textarea>
 </td>
</tr>
<tr>
 <td bgcolor="#1F2760" align="right">
     <input type="hidden" name="id" value="<?=$_GET['id'];?>">
     <input type="submit" value="отправить" name="edit">
 </td>
</tr>
</table>
</form>
<?php
} // функция show_form() закончилась

function complete(){
     // подключаем файл с настройками подключения - это мы уже знаем.
     require 'connect.php';

     // делаем запрос к БД в котором пытаемся вытащить страничку с указаным id. На данный момент мы не сделали еще ни одной страницы, посему запрос вернет пустой ряд.
     $result = mysql_query("SELECT * FROM pages WHERE id = '".$_POST['id']."';", $link);

     // перекидываем данные из MySQL в пхпшный ассоциативный массив
     $row = mysql_fetch_array($result);

     // проверяем не пуст ли элемент массива id. Если пуст, значит вставляем наши данные в БД
     if(empty($row['id']))
           $query = "INSERT INTO pages (body) VALUES ('".mysql_real_escape_string($_POST['body'])."'
)";
     // а вот если не пуст, значит с этим id уже есть запись и в данном случае мы ее просто отредактируем
     else
           $query = "UPDATE pages SET
                                    body = '".mysql_real_escape_string($_POST['body'])."'
                    WHERE id = '".$_POST['id']."';";

     // непосредственно записываем наши данные в базу (до этого мы просто описывали, что надо сделать, а теперь делаем)
     mysql_query($query, $link);

     // ну и просто выводим крикливую надпись, что скрипт отработал
     echo '<h3>Данные обновлены</h3>';
}
function show_pages() {
       require 'connect.php';
       echo '
<table cellspacing="1" cellpadding="2" bgcolor="#1F2760">
<tr bgcolor="#B0ADC3">
 <td>
    <a href="?id=new">Добавить страницу</a>
 </td>
</tr>
</table>';
       echo '
<table cellspacing="1" cellpadding="2" bgcolor="#1F2760">
<tr bgcolor="#B0ADC3">
 <td>
    <b>Номер страницы</b>
 </td>
</tr>';
       $result = mysql_query("SELECT * FROM pages ORDER BY id;", $link);
       while($row = mysql_fetch_array($result)){
              echo '
<tr bgcolor="#ffffff">
 <td>
    <a href="?id='.$row['id'].'">'.$row['id'].'</a>
 </td>
</tr>';
       }
       echo '
</table>';

}

// функция настолько простая, что мне даже и объяснять там нечего. Опять идет обычный html, в котором встречается запрос к БД, в котором мы просим вывести все наши записи отсортировав их по id. Соответственно, каждый полученный из базы id мы выводим ссылкой, чтобы в него можно было зайти. Короче, ща запустим и будет все понятно;-)

if($_POST['edit']) complete(); // если была нажата кнопочка "отправить", которая именуется edit - тогда вызываем функию complete()
if($_GET['id']) show_form(); // если мы нажали на ссылку в функции show_pages(), то значит мы передали в переменную $_GET['id'] тот самый id, который нас интересует. Поэтому в этом слчае вызываем форму редактирования нашей странички.
else show_pages(); // ну, а если мы не выбрали определенный id - запускаем нашу функцию выбора id.
?>


--------------------
PMEmail Poster
Top
Матроскин
Отправлено: Oct 31 2011, 11:27 AM
Quote Post


  Генерал
*

Группа: Members
Сообщений: 245
Пользователь №: 2581
Регистрация:
9-June 09



На коммент ответил smile.gif
Подключение WYSIWYG-редактора должно быть описано на офсайте. Конкретно подключение TinyMCE описано в разделе установка
Там все просто. Подключаем скрипт tiny_mce.js:
CODE
<script type="text/javascript" src="tinymce/jscripts/tiny_mce/tiny_mce.js"></script>

Ну а далее вызывается метод init, который и добавляет к текстовой области редактор. Также этот метод имеет массу настроек (типа языковой локализации, темы, комплектации и т.д.):
CODE
<script type="text/javascript">
tinyMCE.init({
       mode : "textareas"
});
</script>


--------------------
PMEmail PosterUsers Website
Top
Quan
Отправлено: Nov 14 2011, 04:45 PM
Quote Post


  Солдат
*

Группа: unior
Сообщений: 2
Пользователь №: 4052
Регистрация:
14-November 11



Используйте шаблонизатор типа Smarty чтобы не мешать в кучу код и HTML, и закройте админку .htpasswd и ограничьте в настройках apacha доступ по IP
PMEmail PosterUsers Website
Top
dudeonthehorse
Отправлено: Nov 14 2011, 10:15 PM
Quote Post


  Команда ЭйсВэб
*

Группа: Super moderator
Сообщений: 763
Пользователь №: 2933
Регистрация:
26-October 09



QUOTE (Quan @ Nov 14 2011, 04:45 PM)
Используйте шаблонизатор типа Smarty чтобы не мешать в кучу код и HTML

не во всех проектах так необходимо отделять логику от представления. к тому же smarty - это убого. любого здравого человека можно научиться пользоваться конструкцией типа
CODE
<a href="<?=$result['href']?>"><?=$result['name']?></a>
вместо
CODE
<a href="{$href}">{$name}</a>


QUOTE
и закройте админку .htpasswd и ограничьте в настройках apacha доступ по IP

а это уже паранойя. что мешает солить хеш пароля и эту связку хешировать, если уж так печешься о безопасности?
PMEmail PosterICQ
Top

Topic Options Reply to this topicStart new topicStart Poll

 



[ Script Execution time: 0.0254 ]   [ 10 queries used ]   [ GZIP выключен ]