Changeset 9

Show
Ignore:
Timestamp:
02/06/06 20:26:08 (3 years ago)
Author:
bradfitz
Message:

slap more stuff

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/CSS/Cleaner.pm

    r7 r9  
    4646sub _stupid_clean { 
    4747    my ($self, $ref) = @_; 
    48     my $reduced = lc($$ref); 
     48    my $reduced = $$ref; 
     49    $reduced =~ s/&\#(\d+);?/chr($1)/eg; 
     50    $reduced =~ s/&\#x(\w+);?/chr(hex($1))/eg; 
    4951    $reduced =~ s/\s+//g; 
    5052    $reduced =~ s/\\//g; 
    51     $reduced =~ s/&\#(\d+);?/chr($1)/eg; 
    52     $reduced =~ s/&\#x(\w+);?/chr(hex($1))/eg; 
    5353 
    54     if ($reduced =~ m/\bdata\b|javascript|vbscript|expression|eval|cookie 
    55         |document|\bwindow\b|parent|\bthis\b|\bnew\b|behaviou?r|moz-binding/x) { 
    56         $$ref = "/* potential scripting */"; 
     54    if ($reduced =~ /\@import/i) { 
     55        $$ref = "/* suspect CSS: import rule */"; 
    5756        return; 
    5857    } 
     58 
     59    if ($reduced =~ /&\#/) { 
     60        $$ref = "/* suspect CSS: found irregular &# */"; 
     61        return; 
     62    } 
     63 
     64    if ($reduced =~ /[\x00-\x08\x0B\x0C\x0E-\x1F]/) { 
     65        $$ref = "/* suspect CSS: low bytes */"; 
     66        return; 
     67    } 
     68 
     69    if ($reduced =~ /[\x7f-\xff]/) { 
     70        $$ref = "/* suspect CSS: high bytes */"; 
     71        return; 
     72    } 
     73 
     74    if ($reduced =~ m!</!) { 
     75        $$ref = "/* suspect CSS: close HTML tag */"; 
     76        return;- 
     77    } 
     78 
     79    if ($reduced =~ m/\bdata:\b|javascript|vbscript|expression|eval|cookie 
     80        |\bwindow\b|\bparent\b|\bthis\b|behaviou?r|moz-binding/ix) { 
     81        my $what = lc $&; 
     82        $$ref = "/* suspect CSS: potential scripting: $what */"; 
     83        return; 
     84    } 
     85 
    5986} 
    6087