RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 300
от 02.04.2006, 00:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 245, Экспертов: 30
В номере:Вопросов: 4, Ответов: 8


Вопрос № 38626: Уважаемые эксперты, объясните пожалуйста работу функции preg_match, а именно вот это: /^S[a-z A-Z 0-9 _]+$/ ...
Вопрос № 38674: Уважаемые эксперты! Недавно просил оценить работу сайта, но вопреки моим ожиданиям услышал я совсем не то что хотел (точнее вообще не услышал - ответы то не приходили :(). После некоторых модернизаций (в основном дизайна) попрошу провести повторн...
Вопрос № 38701: Здравствуйте эксперты , возвращаюсь к вопросу № 38.237. нашёл функцию производящую замену слов @текст@ в гостевой книге от Манликса , но мне не нравиться в ней два регулярных выражения и цикл , можноли какнить от них избавиться ? ...
Вопрос № 38704: Здравствуйте эксперты !! достаточно ли такой обработки введённых пользователем данных , чтобы исключить возможнасть покушения на сайт и базу даных MySQL ?? $text=ввод от пользователя; $text=htmlspecialchars($text,ENT_QUOTES); ..

Вопрос № 38.626
Уважаемые эксперты, объясните пожалуйста работу функции preg_match, а именно вот это: /^S[a-z A-Z 0-9 _]+$/

Приложение:

Отправлен: 27.03.2006, 13:12
Вопрос задал: UFO (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Straight
Здравствуйте, UFO!
Это называется "регулярное выражение". Почитайте например тут:
http://www.rsdn.ru/article/alg/regular.xml
Ответ отправил: Straight (статус: Студент)
Ответ отправлен: 27.03.2006, 13:38

Отвечает: Doctor013
Здравствуйте, UFO!
Эта запись означает примерно следующее
Если выражение $login содержит символы a-z и A-Z,цифры и (или) знак подчеркивания - это латиница, во втором случае - кириллица. Подробнее о регулярных выражениях можно почитать здесь - http://www.php.net/manual/ru/reference.pcre.pattern.syntax.php
---------
Большинство ответов на вопросы в рассылках находиться через Яндекс за 1 мин.
Ответ отправил: Doctor013 (статус: Студент)
Ответ отправлен: 27.03.2006, 13:38

Отвечает: Королёв Руслан
Здравствуйте, UFO!
Функция сопостовляет выражение /^S[a-z A-Z 0-9 _]+$/ которое обозначает латинские буквы маленькие, большие, цифры и символ подчёркивания со строкой $login, т.е. если login состоит из данных символов, то она вернёт true иначе false. Регулярные выражения очень хорошо описаны в книге Дмитрия Костерова "PHP5 в подлиннике".
Ответ отправил: Королёв Руслан (статус: 3-ий класс)
Ответ отправлен: 28.03.2006, 00:18


Вопрос № 38.674
Уважаемые эксперты!
Недавно просил оценить работу сайта, но вопреки моим ожиданиям услышал я совсем не то что хотел (точнее вообще не услышал - ответы то не приходили :(). После некоторых модернизаций (в основном дизайна) попрошу провести повторную экспертизу. Только желательно проверить работу движка (всё таки вопрос PHP-шникам), а не цвет кнопочек :).
P.S. Чуть не забыл... trsys.h16.ru
Отправлен: 27.03.2006, 18:50
Вопрос задал: Golden Spider (статус: 5-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Королёв Руслан
Здравствуйте, Golden Spider!
Из глюков что я заметил дак это то что зашёл показало 0 человек на сайте, зарегился, стало 1 человек, вышел, снова зашёл стало 2, раздел помощь не работает.
Движок работает, а дизайн надо бы попеределать, а то сразу видно откуда идея взята. Если ещё что замечу напишу.
Ответ отправил: Королёв Руслан (статус: 3-ий класс)
Ответ отправлен: 28.03.2006, 00:09

Отвечает: Doctor013
Здравствуйте, Golden Spider!
Все мои попытки зарегистрироваться(именно зарегИстрироваться) не увенчались успехом. Что бросилось в глаза - в куках есть поле user_pasword и admin_password. Так как зарегистрироваться у меня не получилось, проверить их содержимое я не смог. Если ты действительно хранишь там пароли - это неправильно. Ведь если я буду заходить скажем из компьютерного клуба - любой пользовательсможет войти в мой акаунт. В куках ,ИМХО, лучше держать идентификатор сеанса (можно SID), по которому уже вытягивать данные о пользователе.
---------
Большинство ответов на вопросы в рассылках находиться через Яндекс за 1 мин.
Ответ отправил: Doctor013 (статус: Студент)
Ответ отправлен: 28.03.2006, 20:12


Вопрос № 38.701
Здравствуйте эксперты , возвращаюсь к вопросу № 38.237.

нашёл функцию производящую замену слов @текст@ в гостевой книге от Манликса , но мне не нравиться в ней два регулярных выражения и цикл , можноли какнить от них избавиться ?

Приложение:

Отправлен: 27.03.2006, 23:29
Вопрос задал: Cimus (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Straight
Здравствуйте, Cimus!
Функция preg_replace_callback Вам поможет. Регулярное выражение будет одно, циклов не будет совсем.

Приложение:

Ответ отправил: Straight (статус: Студент)
Ответ отправлен: 28.03.2006, 10:47


Вопрос № 38.704
Здравствуйте эксперты !!
достаточно ли такой обработки введённых пользователем данных , чтобы исключить возможнасть покушения на сайт и базу даных MySQL ??

$text=ввод от пользователя;
$text=htmlspecialchars($text,ENT_QUOTES);
Отправлен: 28.03.2006, 00:25
Вопрос задал: Cimus (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Ерёмин Андрей
Здравствуйте, Cimus!
Смотря что вы хотите заблокировать. В данном случае пользователь не сможет использовать никакие теги - они будут заменены на просто текст. Возможность взлома базы данных - это уже другой вопрос. Рекомендую обрабатывать параметры не "в чистом виде", а кодировать их (т.е. не /script.php?userid=15, а /script.php?userid=6840, где 6840 - число 15, закодированное каким-либо способом). При таком подходе попытки взлома окажутся в большинстве неработоспособными. Конечно, если БД действительно требует свою защиту...
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на DELPHI: Всё для программиста.
ICQ: 286837644
----
Ответ отправлен: 28.03.2006, 07:57

Отвечает: XMF
Здравствуйте, Cimus!
--
$text=str_replace("<", "&lt;", addslashes($text));
// вроде достаточно.
?>
Ответ отправил: XMF (статус: 5-ый класс)
Ответ отправлен: 28.03.2006, 14:17


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.20 (beta) от 17.03.2006
Яндекс Rambler's Top100

В избранное