Беспощадный guest book html. Скрипт гостевой книги на PHP
Создание гостевой книги на сайте
В предыдущих статьях было рассмотрено создание формы обратной связи на сайте. Другой вариант двустороннего общения с посетителями - гостевая книга , в которой посетители оставляют сообщения непосредственно на странице сайта. Администратор сайта может отвечать на них, редактировать, удалять и т.п. Гостевая книга при своих несомненных преимуществах перед формой обратной связи имеет один большой недостаток - она добавляет забот администратору. Теперь все сообщения посетителей видны на сайте и на них надо иногда отвечать. Кроме того, наши гости пишут не только благодарственные отзывы, но и всякие непотребства, причем занимаются этим с особым усердием. Убил бы этих "писателей"! Следовательно, за гостевой книгой надо постоянно следить и заниматься воспитанием хулиганов-бездельников. Пример гостевой книги показан на рис.1:
Рис.1.
Один из вариантов гостевой книги
Вариантов гостевых книг, платных и бесплатных, в интернете множество. Иногда гостевая книга входит в перечень услуг, предоставляемых хостингом. В этом случае вам достаточно разместить ссылку на гостевую книгу на странице своего сайта и, при желании, настроить её интерфейс через панель управления. Одна неприятность - при смене хостинга вы лишитесь гостевой книги. Так что лучше иметь свою, тем более, что установка её на сайт проста как дважды два.
Гостевые книги могут строиться с использованием баз данных или без них. В последнем случае информация сохраняется в обычном файле. Если вы сторонник простых решений, то рекомендую второй вариант, то есть обойтись без создания базы данных. Мне понравилась гостевая книга, разработанная Сергеем Шестопаловым (см. его сайт "Домашние скрипты"). На сайте также предлагаются интересные авторские разработки для интерактивного общения с посетителями: форумы, гостевые книги, различные формы для комментариев, отправки сообщений, сбора статистики и много других полезностей. Обязательно загляните, рекомендую!
Для примера, рассмотрим установку Гостевой книги версии 2.0. Она обеспечивает следующие функции:
- управление сообщениями: удаление, редактирование, комментирование,
- настройка и вся работа производится через панель управления, то есть вам не потребуется знание программирования и других премудростей,
- в сообщениях поддерживаются смайлики, форматирование текста и цветов,
- предварительный просмотр сообщения,
- есть система Антиспам, Антихакер, блокировка пользователей по ip, поиск злоумышленника по ip,
- защита от рекламы и безопасность организованы с помощью капчи (ввод искаженных цифр). Также вы можете составить "черный список" нежелательных посетителей и перечень запрещенных к употреблению слов,
- полностью настраиваемый интерфейс и многое другое.
Гостевая книга 2.0 при своей простоте вполне достаточна для большинства применений. Бесплатно скачать её можно с соответствующей страницы сайта Сергея Шестопалова. Размер папки с файлами после распаковки (имя - Book ) около 400 Кб.
Начинаем установку гостевой книги на ваш сайт:
1. Сначала необходимо проверить, что тарифный план вашего хостинга (контора, где размещён ваш сайт) поддерживает PHP. Если нет, то вам придётся скорее всего доплатить для перехода на другой тариф, поддерживающий РНР.
2. Закачиваем папку Book на свой сайт, обычно в корневой каталог, через панель управления или по FTP .
3. Ставим на нужной странице сайта гиперссылку на гостевую книгу - http://www.ваш_сайт /book/index.php.
4.
Желательно также проверить права доступа к файлам и папкам вашего сайта. Удобнее всего это сделать через панель управления. Около каждой папки и файла стоят значки типа rwx, r-x или цифры 755, 644 и т.п. Они как раз и обозначают права доступа для администратора и гостей сайта:
r
(или 4) - право на чтение данных из файла,
w
(или 2) - право на изменение содержимого файла,
x
(или 1) - право на исполнение файла.
Цифровое кодирование используется для сокращения записи. Например, 7 эквивалентна записи rwx (4+2+1) и т.д. Не вдаваясь в подробности этих сокращений, так как они обычно расшифрованы в руководстве к панели управления сайтом, проверьте, что для папок у вас стоит 755 (что соответствует rwx, r-x, r-x), а для файлов 644 (rw-, r--, r--). Обычно эти значения установлены по умолчанию и ничего менять вам не придется, но лучше все же проверить. Как говорится, "сосед мне друг, но сало лучше перепрятать".
Вот и всё! Заходите на свой сайт, открываете страницу, на которой вы поместили ссылку на гостевую книгу, переходите по этой ссылке и оставляете первое сообщение себе любимому.
Теперь несколько слов про обслуживание гостевой книги. Сеанс работы администратора с гостевой книгой начинается с авторизации - входа в панель управления по адресу http://www.ваш_сайт /book/admin/index.php. Логин и пароль для первого входа admin 111.
Далее вы сможете заменить пароль (это сделать желательно) и начать редактирование записей и отвечать на них. Интерфейс панели администратора чрезвычайно дружелюбный и вы без труда разберетесь со всеми функциями. Все инструменты понятны и дополнительно снабжены подсказками. Для примера, на рис.2 показана панель настройки внешнего вида главной страницы гостевой книги и раскрыт список доступных панелей:
Рис.2.
Конечно, совершенно аналогично описанному, вы можете установить и более полную версию Гостевой книги 3.2 Сергея Шестопалова, имеющую некоторые дополнительные функции: модуль статистики, возможность проверки сообщений администратором перед публикацией на сайте (модерация) и некоторые другие.
Как я уже говорил, на страницах гостевой книги любят оставлять свои сообщения разные нежелательные "друзья". Обычно они размещают здесь ссылки на свои сайты, прикрываясь восторженными отзывами о вашем сайте. В 99% случаев - это спам. Поэтому рекомендую исключить ввод адреса сайта в сообщениях. Для этого войдите в панель управления гостевой книгой и на закладке Внешний Вид - Форма снимите галку у пункта "Сайт", чтобы спамеры не использовали гостевую книгу для размещения ссылок на свои сайты. Электронную почту и ICQ лучше оставить, так как иногда люди хотят получить конфиденциальный ответ, то есть без размещения в гостевой книге. По окончании не забудьте нажать кнопку "Сохранить" внизу страницы.
Удаление пункта "Сайт" не всегда помогает против засорения гостевой книги и лучше всего проверять сообщения перед их размещением. Кстати, если сообщений поступает немного, то можно упростить гостевую книгу до обычной HTML-странички. Об этом простейшем варианте рассказано в
1. На бесплатном хостинге есть только то, что дают.
2. Лучше, но совсем не обязательно. Порядочный гость оставит сообщение так как нужно (через мою форму), а хороший
хакер все равно обойдет ваши $_GET, $_POST, $_COOKIE и $HTTP_REFERER тоже.
3. Контроль длины производиться, но только неявно, самой БД (единственно, что только само сообщение может быть огромно - до 64Кб).
4. Да, есть, HtmlSpecialChars была использована, не использовал AddSlashes (и это большая ошибка, признаю свою вину, см. ниже). При в ключеной magic_quotes_gpc, данная проблема не столь остра, но дыра в безопасности остается (в панели управления).
5. Да, согласен, можно было бы и вырезать, но имя #$@%#$^%$
ничем не хуже чем AF4ETX09T43
. В e-mail и url есть дырка, можно использовать скрипты.
6. Интересно, что не неинициализировано?
Есть еще ряд интересных приемов, как например защита от автоматического ввода через картинку (как на этом сайте) http://www.сайт/webmast/php/Security-Images-in-PHP/
...
Картинок кажется небыло, зачем усложнять демонстрационный пример. Пока ни разу не встречал гостевой с подобной защитой. Что касается этого сайта, то это не гостевая.
Анатомия межсайтового скриптинга XSS
http://www.woweb.ru/index.htm/id/1073393942
Очень интересно, спасибо.
З.Ы. Если бы Аффтор потрудился бы почитать (и вниктуть) в статьи что на этом же сайте, то понял бы, на сколько его труд непрофессионален. Стоит учитывать опыт предыдущих Авторов и, по крайней мере, уважать их труды - они же для вас писали.
Где есть не уважение? Извините если кого обидел.
Что касается защиты, то советую еще раз прочесть первый абзац статьи, я не ставил цели расматривать надежную гостевую, а лишь показать как можно написать протейшую гостевую, для тех кто только начинает познавать CGI, ведь не все сразу приходит, надо начинать с простого, и ты тоже не сразу стал таким умным, тоже совершал ошибки, так что давай оставим аспекты защиты другим статьям, другим авторам.
Да, с точки зрения защиты этот скрипт непрофессионален, и я непрофесионал в области защиты, поэтому в первом абзаце и стоит соответвующая оговорка, которую, к сожалению не все прочли.
PS
Цитата:
Закон "Об авторском праве и смежных правах"
Статья 6. Объект авторского права. Общие положения
1. Авторское право распространяется на произведения науки, литературы и искусства, являющиеся результатом творческой деятельности, независимо от назначения и достоинства произведения, а также от способа его выражения.
Остальное можешь прочесть тут: http://www.febras.ru/~patent/copyright/2_3part2.html
В том числе и Статья 9. п.1
И не тебе решать пользоваться мне моим правом или нет.» » GBook
Этот PHP скрипт поможет вам реализовать функцию гостевой книги на вашем сайте. Без использования какой-либо Базы Данных MySQL, она не нужна, чтобы скрипт работал. Скрипт Gbook включает в себя множество мощных SPAM фильтров. А также защиту почты от СПАМеров.
В скрипте есть 2 txt файла – header.txt и footer.txt. При помощи этих файлов, вы сможете дополнить рекламными блоками или счётчиками свою гостевую книгу. Полностью изменить шаблон под стиль вашего сайта, тоже не вызовет особого труда. Программа Gbook может быть переведена на любой язык мира. Просто измените слова в одном файле language.
Преимущества скрипта.
- Поддержка смайликов.
- Не требует БД MySQL. Все сообщения хранятся в файле.
- Оповещение админа по почте, о новом сообщении в Гостевой Книге.
- Содержит 2 шага анти-спам проверки.
- Можно забанить IP адрес, чтобы не смогли оставлять сообщения.
- Получайте уведомление на почту, каждый раз, когда кто-то подписал вашу гостевую книгу.
- Проверка сообщение: список «запрещенных» (не цензурных) слов к публикации. Прикрывается ****
- Функция анти-флуд. Чтобы пользователи не публиковали сообщения так часто.
- Личные сообщения.
A guest book can be a great way for your website visitors to make a permanent impression on their presence on your website without being too intrusive. Before you start thinking about the HTML source for a guestbook, you need to decide how you want it to flow and how you want it look. In this case we will look at a guestbook that places a form for users to sign at the top. Below that there will then be a list of all the comments posted by the readers.
The HTML Source Code
The HTML source for our guestbook will consist of a web form and a list of DIV containers which will hold the display for the signed comments. The Part of the code that will handle the form is a simple as this.
Please Sign Our Guestbook