libwww-perl / libwww-perl/HTML-Parser
Wrong parse [rt.cpan.org #55629]
Nobody has claimed this yet.
- Dominant language
- Perl
- Stars
- 7
- Forks
- 15
- Avg merge
- 12h 8m
- Merged PRs (30d)
- 2
Description
Migrated from rt.cpan.org#55629 (status was 'open')
Requestors:
- NIKOLAS@cpan.org
From nikolas@cpan.org on 2010-03-16 15:09:51
:
HTML:
<iframe/**/src="http://mail.ru" name="poc iframe jacking" width="100%"
height="100%" scrolling="auto" frameborder="no"></iframe>
$parser = HTML::Parser->new(
api_version => 3,
start_h => [ sub{
my ($Self, $Text, $Tag, $Attr) = @_;
print "Tag is: ".$Tag;
}, "self, text, tagname, attr" ]
);
$parser->ignore_elements( qw( iframe ));
$parser->ignore_tags( qw( iframe ));
output:
Tag is: iframe/**/src="http://mail.ru"
From nikolas@cpan.org on 2010-03-18 13:51:31
:
ÐÑÑ ÐÐ°Ñ 16 11:09:51 2010, NIKOLAS пиÑал:
> HTML:
> <iframe/**/src="http://mail.ru" name="poc iframe jacking" width="100%"
> height="100%" scrolling="auto" frameborder="no"></iframe>
>
> $parser = HTML::Parser->new(
> api_version => 3,
> start_h => [ sub{
> my ($Self, $Text, $Tag, $Attr) = @_;
> print "Tag is: ".$Tag;
> }, "self, text, tagname, attr" ]
> );
> $parser->ignore_elements( qw( iframe ));
> $parser->ignore_tags( qw( iframe ));
>
> output:
> Tag is: iframe/**/src="http://mail.ru"
HTML: <script/src="ya.ru"> wrong parse same
From gaas@cpan.org on 2010-04-04 20:38:08
:
I don't understand what rules you propose that HTML::Parser should follow to parse this kind of
bogus HTML. You think it should treat "/**/" and "/" as whitespace?
From nikolas@cpan.org on 2010-06-01 07:13:54
:
Here 3 regular expressions applied to the entrance text correct this
problems:
s{(/\*)}{ $1}g;
s{(\*/)}{$1 }g;
s{(<[^/\s<>]+)/}{$1 /}g;
Probably you will find more correct architectural decision.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the HTML::Parser example with the iframe and script inputs, starting from the parser configuration shown in the issue. First establish the expected handling of this deliberately malformed HTML; the thread has no agreed rule, source file, or test, so completion cannot yet be verified from the payload alone.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- perl
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100