Страница 1 из 1
фигня какая-та про тэги
Добавлено: 2009-11-25 19:37:33
thefree
Код: Выделить всё
sub _cleaning { # сносить оспасный теги
my $self = shift;
$self->{value} =~ s!0!!g;
$self->{value} =~ s|&|;|g;
$self->{value} =~ s|<!--||g;
$self->{value} =~ s|-->||g;
$self->{value} =~ s|<script||ig;
$self->{value} =~ s|>||g;
$self->{value} =~ s|<||g;
$self->{value} =~ s|"||g;
$self->{value} =~ s| | |g;
$self->{value} =~ s!\|!|!g;
$self->{value} =~ s|\n||g;
$self->{value} =~ s|\$||g;
$self->{value} =~ s|\r||g;
$self->{value} =~ s|\_\_(.+?)\_\_||g;
$self->{value} =~ s|\\||g;
$self->{value} =~ s|\'||g;
$self->{value} =~ s|!||g;
return $self;
}
это пиздец ... ладно Вы бы заменяли ... что-то так вы проста вырезает
Re: фигня какая-та про тэги
Добавлено: 2009-11-26 4:01:54
ProFTP
тут нужно было именно вырезать...
взято с ikonboard
Re: фигня какая-та про тэги
Добавлено: 2009-11-26 9:29:34
thefree
еще раз говорю это пиздец.
если вы вырезали начало тяга то может быть и стоит вырезать конец?
да и потом если кто-то что-то написал то может не стоит безбожно копировать? в regexp есть такая штучка как
|
фигня какая-та про тэги
Добавлено: 2009-11-26 9:37:24
ProFTP
я взял готовое чтобы не изобретать велосипед... чтобы не сделать ошибки и вообще, а форум ikonboard более менее популярный и любая XSS там не пройдет...
===
s|>||g - это удаляется, на cчет <\script - оно роли не играет, по-моиму оно удаляется само, можно удалить, какая разница?
это удаление XSS просто - это фигня ... роли не играет
еще есть некоторые модули на cpan.org можно их использовать для удаления или экранирования XSS
Код: Выделить всё
sub clean {
my $Tmp = shift;
return '' unless defined $Tmp;
$Tmp =~ s|&|&|g;
$Tmp =~ s|<!--|<!--|g; $Tmp =~ s|-->|-->|g;
$Tmp =~ s|<script|<script|ig;
$Tmp =~ s|>|>|g;
$Tmp =~ s|<|<|g;
$Tmp =~ s|"|"|g;
$Tmp =~ s!^\s+!!;
$Tmp =~ s!\s+$!!;
$Tmp =~ s| | |g;
$Tmp =~ s!\|!|!g;
$Tmp =~ s|\n|<br>|g;
$Tmp =~ s|\$|$|g;
$Tmp =~ s|\r||g;
$Tmp =~ s|\_\_(.+?)\_\_||g;
$Tmp =~ s|\\|\|g;
$Tmp =~ s|!|!|g;
$Tmp =~ s|\'|'|g;
return $Tmp;
}
что вы имеете ввиду?
кроме слова "пиздец"
если тебе нужно удалить <\script - удали...
Re: фигня какая-та про тэги
Добавлено: 2009-11-26 12:46:54
thefree
ProFTP писал(а):я взял готовое чтобы не изобретать велосипед... чтобы не сделать ошибки и вообще, а форум ikonboard более менее популярный и любая XSS там не пройдет...
===
s|>||g - это удаляется, на cчет <\script - оно роли не играет, по-моиму оно удаляется само, можно удалить, какая разница?
это удаление XSS просто - это фигня ... роли не играет
еще есть некоторые модули на cpan.org можно их использовать для удаления или экранирования XSS
Код: Выделить всё
sub clean {
my $Tmp = shift;
return '' unless defined $Tmp;
$Tmp =~ s|&|&|g;
$Tmp =~ s|<!--|<!--|g; $Tmp =~ s|-->|-->|g;
$Tmp =~ s|<script|<script|ig;
...
$Tmp =~ s|\'|'|g;
return $Tmp;
}
что вы имеете ввиду?
кроме слова "пиздец"
если тебе нужно удалить <\script - удали...
Я введу к тому что перед тем как брать велосипед сначала надо подумать что вы делаете ...
Код: Выделить всё
$Tmp =~ s|<script|<script|ig; и $self->{value} =~ s|<script||ig;
это 2е БОЛЬШИХ РАЗНИЦЫ,
если пойдет строчка <script>sdsdsd</script> на выходи после вашего преобразование мы получим sdsdsd/script, вам не кажется что, что-то лишнее появляется? ах и еще в REGEXP есть
|
p.s. а слово пиздец молодой чиловек можете рассматривать как частный случай. Потому что, не вижу логики в урезание велосипеда, когда вы режете и не понимает что режете.
Re: фигня какая-та про тэги
Добавлено: 2009-11-26 13:35:23
ProFTP
да, правильно, но данный метод используется в фильтрации ТОЛЬКО заголовков, такие как на на этом форуме
Заголовок:
задача: удалить опасный тэги
(подчеркиваю)
нормальные человек ставить тєг "</sсript>" в заголовок не будет, по этому это двоично и даже троично
для экранирвоание тэгов таких в тексте я поставил:
use HTML::Entities::Numbered;
Re: фигня какая-та про тэги
Добавлено: 2009-11-26 14:34:38
thefree
ProFTP писал(а):да, правильно, но данный метод используется в фильтрации ТОЛЬКО заголовков, такие как на на этом форуме
Заголовок:
задача: удалить опасный тэги
(подчеркиваю)
нормальные человек ставить тєг "sсript" в заголовок не будет, по этому это двоично и даже троично
для экранирвоание тэгов таких в тексте я поставил:
use HTML::Entities::Numbered;
да какая разница? вы удаляете опасные тяги, так удаляйте его до конца и потом зачем удалять если надо экранировать? в друг у меня будет
заголовок: помогите с <script src=></ ...
вы же проста повырезает кусок. И это не правильно так еще вы и regexp не может нормально использовать.
Re: фигня какая-та про тэги
Добавлено: 2009-11-26 15:02:17
ProFTP
ProFTP писал(а):если тебе нужно удалить <\script - удали...
Re: фигня какая-та про тэги
Добавлено: 2009-11-26 15:08:29
thefree
зачем тогда ваша статья? зачем вы что-то публикуете если
1. Решения не полное
2. Оно не оптимальное
3. У вас 3 функции которые делаю почти одно и то же...
Да и вообще использовать хешь в пустую это тупа.
Re: фигня какая-та про тэги
Добавлено: 2009-12-04 16:56:16
thefree
это был пост к вашей статье и не стоила разделять тему ... не очень красиво ...
===
Коментил я вашу статью и код
от туда или критика не устраивает?
Re: фигня какая-та про тэги
Добавлено: 2009-12-04 17:04:56
hizel
ээ, миль пардон , надо было сцылку сделать на исходник :-)
Re: фигня какая-та про тэги
Добавлено: 2009-12-04 17:11:26
thefree
да я тут что-то слюной стал брызгать ... вот разделили тему ...
Ну не оптимальный код и с кучей ошибок ...