Escape user-controlled text in textareas.

        Patch by exor674. 

diffs (37 lines):

diff -r 160d905b81fb -r 5bbc58fb6f45 htdocs/admin/spamreports.bml
--- a/htdocs/admin/spamreports.bml      Mon Mar 28 20:14:32 2011 +0800
+++ b/htdocs/admin/spamreports.bml      Tue Mar 29 10:50:28 2011 +0800
@@ -231,11 +231,11 @@ _c?>
             if ( $reason && $reason->{talk_ip_test} ) {
                 $extra = "<strong>Already talk_ip_test banned</strong>";
                 if ( $remote->has_priv( 'sysban' ) ) {
-                    $extra .= "<br/><textarea name='sysban_note' rows='3' 
cols='60' readonly='1'>" . ( $reason->{talk_ip_test}->{note} || "(no note)" ) . 
"</textarea>";
+                    $extra .= "<br/><textarea name='sysban_note' rows='3' 
cols='60' readonly='1'>" . LJ::ehtml( $reason->{talk_ip_test}->{note} || "(no 
note)" ) . "</textarea>";
                 }
             } else {
                 $extra = LJ::html_check({name => "sysban_ip", value => $what, 
label => "Also Sysban IP?"});
-                $extra .= "<br/><textarea name='sysban_note' rows='3' 
cols='60'> ~" . $remote->username . " @ " . LJ::mysql_time() . "</textarea>";
+                $extra .= "<br/><textarea name='sysban_note' rows='3' 
cols='60'> ~" . LJ::ehtml( $remote->username . " @ " . LJ::mysql_time() ) . 
"</textarea>";
             }
         }
 
diff -r 160d905b81fb -r 5bbc58fb6f45 htdocs/admin/sysban.bml
--- a/htdocs/admin/sysban.bml   Mon Mar 28 20:14:32 2011 +0800
+++ b/htdocs/admin/sysban.bml   Tue Mar 29 10:50:28 2011 +0800
@@ -115,6 +115,7 @@ QUERYFORM
 
             my $expire = $existing_bans->{ $value }->{expire};
             my $note   = $existing_bans->{ $value }->{note};
+            my $enote  = LJ::ehtml($note);
             my $banid  = $existing_bans->{ $value }->{banid};
             $note =~ s/^'(.*)'$/\1/;
 
@@ -133,7 +134,7 @@ QUERYFORM
 </select>
 </td>
 <td>
-<textarea name='note' rows='3' cols='60'>$note</textarea> 
+<textarea name='note' rows='3' cols='60'>$enote</textarea>
 </td>
 <td><input type='submit' name='modify' value='modify'>
 </td>
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog

Reply via email to