0

我正在创建一个模板驱动的网站,但不使用 Smarty 或 Twig 等 PHP 模板包,这完全是我自己的编码。

这是一个模板(mypage.php):(移动以适应页面)

<TITLE>{$title}</TITLE>
<TABLE>
<TR><TD>{$maker}</TD><TD>{$model}</TD><TD>{$trim}</TD><TD>{$body}</TD>
<TD>{$price}</TD>
</TABLE>

内容来自 MySQL 数据库,如下所示:

<?php
mysql_connect("localhost", "mylogin", "password") or die(mysql_error());
mysql_select_db("test12") or die(mysql_error());
$query  = "SELECT name, subject, message FROM contact";
$result = mysql_query($query);

while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
    echo "<table><td>{$row['maker']} <br><TD>{$row['model']}</TD><TD>{$row['trim']}</TD><TD>{$row['price']}</TD>" .

}

我认为我做对了,但如果我做错了,请告诉我……这是我第一次正确尝试!(编辑以适应 stackoverflow.com)

干杯

4

1 回答 1

0

我看到的一个错误是您没有对从数据库中检索到的值进行转义。
这让你对 XSS 持开放态度。

我会将回声部分更改为:

while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
  $maker = htmlspecialchars($row['maker']);
  $model = htmlspecialchars($row['model']);
  $trim = htmlspecialchars($row['trim']);
  $price = htmlspecialchars($row['price']);

  echo "<table><td>{$maker}<br><TD>{$model}</TD><TD>{$trim}</TD><TD>{$price}</TD>".
}
于 2011-08-04T09:37:46.573 回答