Changeset 104212 for trunk/www


Ignore:
Timestamp:
Mar 20, 2013, 8:35:59 PM (7 years ago)
Author:
wsiegrist@…
Message:

Protect against XSS

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/ports.php

    r100022 r104212  
    2323    $pagesize = isset($_GET['pagesize']) ? max(intval($_GET['pagesize']), 1) : 50; # arbitrary setting
    2424
     25    # protect against XSS
     26    $phpself = htmlspecialchars($_SERVER['PHP_SELF']);
     27
    2528    print_header('The MacPorts Project -- Available Ports', 'utf-8');
    2629?>
     
    3740    <br />
    3841
    39     <form action="<?php print $_SERVER['PHP_SELF']; ?>" method="get">
     42    <form action="<?php print $phpself; ?>" method="get">
    4043        <p>
    4144            <label>Search by:</label>
     
    5457    </form>
    5558
    56     <p>Or view the complete <a href="<?php print $_SERVER['PHP_SELF']; ?>?by=all">ports list (<?php print $portsdb_info['num_ports']; ?>
     59    <p>Or view the complete <a href="<?php print $phpself; ?>?by=all">ports list (<?php print $portsdb_info['num_ports']; ?>
    5760    ports)</a>.</p>
    5861    <br />
     
    7275                print '<li><ul>';
    7376                while ($row = mysql_fetch_assoc($result)) {
    74                     print "<li><a href=\"$_SERVER[PHP_SELF]?by=category&amp;substr=" . urlencode($row['category']) . '">'
     77                    print "<li><a href=\"$phpself?by=category&amp;substr=" . urlencode($row['category']) . '">'
    7578                    . htmlspecialchars($row['category']) . '</a></li>';
    7679                    if ($entries_per_column == $max_entries_per_column) break;
     
    147150                        $pagecontrol .= "<b>$i</b>";
    148151                    } else {
    149                         $pagecontrol .= "<a href=\"$_SERVER[PHP_SELF]?by=$by&amp;substr=" . urlencode($substr) . "&amp;page=$i&amp;pagesize=$pagesize\">$i</a>";
     152                        $pagecontrol .= "<a href=\"$phpself?by=$by&amp;substr=" . urlencode($substr) . "&amp;page=$i&amp;pagesize=$pagesize\">$i</a>";
    150153                    }
    151154                }
     
    186189                    print '<i>Licenses:</i> ';
    187190                    while ($nrow = mysql_fetch_row($nresult)) {
    188                         print "<a href=\"$_SERVER[PHP_SELF]?by=license&amp;substr=" . urlencode($nrow[0]) . '">'
     191                        print "<a href=\"$phpself?by=license&amp;substr=" . urlencode($nrow[0]) . '">'
    189192                        . htmlspecialchars($nrow[0]) . '</a> ';
    190193                    }
     
    218221                        if ($primary) { print ' <b>'; }
    219222                        else { print ' '; }
    220                         print "<a href=\"$_SERVER[PHP_SELF]?by=category&amp;substr=" . urlencode($nrow[0]) . '">'
     223                        print "<a href=\"$phpself?by=category&amp;substr=" . urlencode($nrow[0]) . '">'
    221224                        . htmlspecialchars($nrow[0]) . '</a>';
    222225                        if ($primary) { print '</b>'; }
     
    232235                    print '<br /><i>Platforms:</i> ';
    233236                    while ($nrow = mysql_fetch_row($nresult)) {
    234                         print "<a href=\"$_SERVER[PHP_SELF]?by=platform&amp;substr=" . urlencode($nrow[0]) . '">'
     237                        print "<a href=\"$phpself?by=platform&amp;substr=" . urlencode($nrow[0]) . '">'
    235238                        . htmlspecialchars($nrow[0]) . '</a> ';
    236239                    }
     
    245248                    while ($nrow = mysql_fetch_row($nresult)) {
    246249                        $library = preg_replace('/^(?:[^:]*:){1,2}/', '', $nrow[0]);
    247                         print "<a href=\"$_SERVER[PHP_SELF]?by=library&amp;substr=" . urlencode($library) . '">'
     250                        print "<a href=\"$phpself?by=library&amp;substr=" . urlencode($library) . '">'
    248251                        . htmlspecialchars($library) . '</a> ';
    249252                    }
     
    257260                    print '<br /><i>Variants:</i> ';
    258261                    while ($nrow = mysql_fetch_row($nresult)) {
    259                         print "<a href=\"$_SERVER[PHP_SELF]?by=variant&amp;substr=" . urlencode($nrow[0]) . '">'
     262                        print "<a href=\"$phpself?by=variant&amp;substr=" . urlencode($nrow[0]) . '">'
    260263                        . htmlspecialchars($nrow[0]) . '</a> ';
    261264                    }
Note: See TracChangeset for help on using the changeset viewer.