Сайт сообщества | Клуб пользователей | О проекте

Имя
Пароль
ПравилаРегистрацияСправка
Сообщения за деньПоиск

Вернуться   Клуб пользователей портальной системы RUNCMS > Портал > Настройка и эксплуатация

Ответ
 
Опции темы Опции просмотра
Zormax вне форума Zormax
Старожил

Аватар для Zormax

| Цитировать Старый #1 10-19-2005, 09:56

Зарегился у меня один чел под ником administrator, но я помню что добавлял такой ник в запрещенные.
Начал копать и что?
Оказывается не работает ни фильтр IP, ни email, ни фильтр ников.

Пошел дальше копать:
Есть функция в файле include\functions.php
-------------
function hasMatch($input=array(), $match=0) {

if ( !empty($input) && !empty($match) ) {
foreach ($input as $entry) {
$entry = trim($entry);
if ( !empty($entry) || preg_match($entry, trim($match), $matches) ) {
return $matches;
}
}
}

return false;
}
--------------

В e-xoops она выглядела так:
--------------
function hasMatch($input=array(), $match=0) {

if ( !empty($input) && !empty($match) ) {
foreach ($input as $entry) {
$entry = trim($entry);
if ( !empty($entry) && preg_match($entry, trim($match), $matches) ) {
return $matches;
}
}
}

return false;
}
--------------

Разница тока в одной строке:
if ( !empty($entry) && preg_match($entry, trim($match), $matches) ) {

Поставил за место || -> &&
нифига не помогло, да к тому же еще и ошибку выдает:
-----------
Номер ошибки: 2 [Предупреждение (выполнение скрипта не прерывается)]
Описание ошибки: Delimiter must not be alphanumeric or backslash
В файле: w:\home\sitefree.ru\www\include\functions.php
В строке: 368
----------

Копать больше нет времени, надо спать после работы, Ларк, Ларок, посмотрте в чем трабла?


Всё для Sony Ericsson
Посетить домашнюю страницу Zormax
  Сообщения: 2,424 c 15.05.2004 | Репутация: 149
Zormax вне форума Zormax
Старожил

Аватар для Zormax

| Цитировать Старый #2 10-19-2005, 10:42

Спать я наверное в гробу номано буду

В общем сделал рабочими фильтры айпишника, агентов, ника и email.

Открываем файл: include\functions.php

Находим функцию:

PHP код:
function hasMatch($input=array(), $match=0) {

if ( !empty(
$input) && !empty($match) ) {
        foreach (
$input as $entry) {
                
$entry trim($entry);
                if ( !empty(
$entry) || preg_match($entrytrim($match), $matches) ) {
                        return 
$matches;
                }
        }
}

return 
false;

И меняем на функцию:

PHP код:
function hasMatch($input=array(), $match=0) {

if ( !empty(
$input) && !empty($match) ) {
        foreach (
$input as $entry) {
                
$entry trim($entry);
                if ( !empty(
$entry) && @preg_match($entrytrim($match), $input) ) {
                        return 
$input;
                }
        }
}

return 
false;

Как говорится, найдите четыре отличия...

Т.е. получается, что фильтрация на запрещенные айпишники, агенты, ники и email НЕ РАБОТАЛА со времен e-xoops ???
Избейте меня, если я не прав...


Всё для Sony Ericsson
Посетить домашнюю страницу Zormax
  Сообщения: 2,424 c 15.05.2004 | Репутация: 149
Vor2ex вне форума Vor2ex
Старший участник

Аватар для Vor2ex

| Цитировать Старый #3 10-19-2005, 22:44

Гы, забавно, если так...

  Сообщения: 1,131 c 03.08.2004 | Репутация: ??
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #4 10-19-2005, 23:15

Цитата:
Т.е. получается, что фильтрация на запрещенные айпишники, агенты, ники и email НЕ РАБОТАЛА со времен e-xoops ???
Избейте меня, если я не прав...
Твоя правда, только не со времен e-xoops, а только с версии 1.2 - в 1.1A все еще работало. Я уже писал об этой странности когда ругал версию 1.2 , и в новой версии надо "вертать" все обратно

Последний раз редактировалось LARK, 10-19-2005 в 23:18


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
pan вне форума pan
): ǝҺɐни dиw ɐн иd⊥оwɔ

Аватар для pan

| Цитировать Старый #5 10-20-2005, 01:59

Вот я и думаю, почему у меня работает ? -)


Напильник для RUNCMS
Строим помаленьку
Для гурманов
Мебель для дома
Посетить домашнюю страницу pan
  Сообщения: 4,777 c 15.03.2004 | Репутация: 121
Zormax вне форума Zormax
Старожил

Аватар для Zormax

| Цитировать Старый #6 10-20-2005, 08:34

Интересно получается, у меня версия 1.1A и функция стояла неработающая.
Есть оригинальный дистриб e-xoops 1.5 rev 3 и в нем тоже не работающая функция, а где же (в каком движке, версии) была работающая???


Всё для Sony Ericsson
Посетить домашнюю страницу Zormax
  Сообщения: 2,424 c 15.05.2004 | Репутация: 149
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #7 10-20-2005, 13:15

Цитата:
Интересно получается, у меня версия 1.1A и функция стояла неработающая.
Хм, странно. Чтобы работало надо менять || на && - почему у тебя ошибка вылезает не знаю, скорее всего из за регулярного выражения (чем ограничители задаешь?). Ты что именно проверял? В общем случае достаточно @ поставить чтобы обезопасить себя от неправильных регулярных выражений.


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
Sponsor вне форума Sponsor
Старичок

Аватар для Sponsor

| Цитировать Старый #8 10-20-2005, 14:30

Всетаки мне кажется должно быть не:
PHP код:
if ( !empty($entry) && @preg_match($entrytrim($match), $input) ) { 
return 
$input
а вот какой код
PHP код:
if ( !empty($entry) && preg_match($entrytrim($match), $matches) ) {
return 
$matches
Посмотрите.
Может конечно я и не прав.


Человечество - вот главный вирус !!! Matrix
Посетить домашнюю страницу Sponsor
  Сообщения: 510 c 18.05.2004 | Репутация: 20
LARK вне форума LARK
[исход]

Аватар для LARK

| Цитировать Старый #9 10-20-2005, 19:59

Sponsor Все равно как переменную назвать $input или $matches или как либо еще

А вот @ - это на всякий случай, от неправильных регулярных выражений, хотя это не решает проблему.


Правила нашего Форума :: О клубе пользователей RUNCMS :: Рекомендации по публикации сообщений :: Прежде чем задать вопрос воспользуйтесь Поиском
-------------------------------------------------------------------
Если что-то не работает, задавая вопрос, ! ОБЯЗАТЕЛЬНО ! пишите версию RUNCMS/модуля/PHP/MySQL и текст самой ошибки.
Посетить домашнюю страницу LARK
  Сообщения: 4,185 c 20.09.2003 | Репутация: 223
Zormax вне форума Zormax
Старожил

Аватар для Zormax

| Цитировать Старый #10 10-21-2005, 08:07

LARK, твое окончательное мнение?


Всё для Sony Ericsson
Посетить домашнюю страницу Zormax
  Сообщения: 2,424 c 15.05.2004 | Репутация: 149
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Рейтинг@Mail.ru Хостинг провайдер Majordomo. Powered by: vBulletin Version 3.0
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Все разделы прочитаны - Руководство форума - Архив - Вверх
Rambler's Top100
Output: 92.37 Kb. compressed to 84.87 Kb. by saving 7.50 Kb. (8.12%)
Page generated in 0.15714 seconds with 10 queries