Синтаксис шаблона PHP - это правильно? - PullRequest
0 голосов
/ 04 августа 2011

Я создаю сайт на основе шаблонов, но не использую шаблоны PHP-пакетов, такие как Smarty или Twig, это полностью мое собственное кодирование.

Это один шаблон (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)

ура

1 Ответ

0 голосов
/ 04 августа 2011

Одна ошибка, которую я вижу, состоит в том, что вы не избежали значений, которые вы извлекаете из базы данных.
Это оставляет вас открытым для 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>".
}
...