Форум по программному обеспечению и оборудованию > >

Новички не могут адекватно вставлять sql запросы в сообщения

03.12.2016 12:39


[ОТВЕТИТЬ]
Опции темы
17.02.2012 14:22  
leonid
Например пишем:

Код:
select t точка name from table1 t
Если вместо слова точка поставить знак '.', то отправить сообщение не дает.
Говорит Нарушение, а какое не говорит. Пол дня пытался запрос отправить, пока не понял в чем хитрость.
 
"Спасибо" leonid от:
17.02.2012 15:01  
OlegON
Это антиспам работает. На самом деле ограничение не просто на точку.
Если есть какие-то другие предложения, как запретить (определить) линки и емейлы по подстроке - давайте переделаем, готов поправить. Сейчас сделано достаточно тупо, поскольку наспех.

SQL код:
if (!is_member_of($vbulletin->userinfo$groups) OR $groups[0] == 0

$pagetext $this->fetch_field('pagetext','post'); 
$pagetext str_replace('[url]https://olegon.ru','',$pagetext);
$pagetext str_replace('[URL="https://olegon.ru','',$pagetext);
$pagetext str_replace('https://olegon.ru','',$pagetext);
$pagetext str_replace('[URL="https://storage.olegon.ru','',$pagetext);
$pagetext str_replace('[url]https://storage.olegon.ru','',$pagetext);
$pagetext str_replace('https://storage.olegon.ru','',$pagetext);
if ((
stristr($pagetext,'[url') or stristr($pagetext,'://') or stristr($pagetext,'[URL') or stristr($pagetext,'www.') or stristr($pagetext,'.ru') or stristr($pagetext,'.net') or stristr($pagetext,'.com'))) 
    { 
    
$this->error('restrict_by_rules'); 
    
$return_value false
    } 

 
17.02.2012 15:21  
leonid
Ну например, не просто Нарушение писать. А написать, что именно. Потому что догадаться почти не реально, что нарушено.
 
17.02.2012 15:26  
CrazyWolf
Есть предложение пойти от обратного. Детектить УРЛы регуляркой, потом перебирать все совпадения, и, если хоть одно не содержит olegon dot ru - запрещать.
 
17.02.2012 15:38  
OlegON
В чем выигрыш? Регулярки тяжелее и проще сразу выкинуть olegon.ru из сообщения, чтобы их и не проверять... Да и что тут регулярками можно изобрести? @ проверять нельзя, http: для линка писать необязательно, а в емейле его и нет... В строке "google.com" к чему можно придраться? только к .com :( Суть запрета - запрет на любое упоминание домена.
Вариант с "написать что нарушено"... Криво это... Расчитывается не только на линки, надо просто четкий механизм придумать. Я помозгую, но буду благодарен за идею.
 
17.02.2012 15:42  
leonid
Цитата:
Сообщение от OlegON
Вариант с "написать что нарушено"... Криво это...
Да почему?
Ну вот отправляю простой запрос, мне пишет "Нарушено правило форума".
Я иду в правила, там текста на пол часа чтения.
Я все прочитываю. И главное! Я все равно не понимаю, что нарушил.
Про запросы в правилах нет, вроде.
 
17.02.2012 15:47  
CrazyWolf
Ну оно и сейчас у Вас пропустит, например,
Код:
kinozal.tv
Извращение, согласен :), однако домены со всякими нестандартными значениями продолжают плодиться.
Ну а придраться к чему-то кроме НаборСимволовРаз точка НаборСимволовДва действительно не к чему :(
 
17.02.2012 15:51  
whitewizard
все IDN нафиг, а если после "." 2-4 символа - туда же :)
 
17.02.2012 15:57  
Mtirt
ага, и тогда запрос
Код:
 select t.id from smdocuments t
уже не опубликуешь.
 
17.02.2012 15:57  
OlegON
Цитата:
Сообщение от leonid
Я все равно не понимаю, что нарушил.
Про запросы в правилах нет, вроде.
зато появился повод написать тут, что и есть правильно - я о проблеме узнал. сейчас поразмышляю, действительно, если регуляркой на '\.[A-Za-z]{2,3}[ |/]' взять, то количество ложных срабатываний будет куда ниже, а количество отбитых доменов - больше... Правильно?
 
 


Опции темы



Часовой пояс GMT +3, время: 12:39.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.