Действительно ли вложенные комментарии HTML возможны?

Я думаю, что если кто-то захочет использовать PHP и MySQL или какой-нибудь другой сервер базы данных:

  1. Подумайте об обучении PDO (объекты данных PHP) - это база данных уровень доступа, обеспечивающий единый метод доступа к нескольким базам данных.
  2. Подумайте об обучении MySQLi
  3. Используйте собственные функции PHP, такие как: strip_tags , mysql_real_escape_string или если переменная числовая, просто (int)$foo. Подробнее о типах переменных в PHP читайте здесь . Если вы используете библиотеки, такие как PDO или MySQLi, всегда используйте PDO :: quote () и mysqli_real_escape_string () .

Примеры библиотек:

---- PDO

----- Никакие заполнители - не спешили для SQL-инъекций! Это плохо

$request = $pdoConnection->("INSERT INTO parents (name, addr, city) values ($name, $addr, $city)");

----- Без имени заполнители

$request = $pdoConnection->("INSERT INTO parents (name, addr, city) values (?, ?, ?);

----- Именованные заполнители

$request = $pdoConnection->("INSERT INTO parents (name, addr, city) value (:name, :addr, :city)");

--- MySQLi

$request = $mysqliConnection->prepare('
       SELECT * FROM trainers
       WHERE name = ?
       AND email = ?
       AND last_login > ?');

    $query->bind_param('first_param', 'second_param', $mail, time() - 3600);
    $query->execute();

PS:

PDO побеждает в этом сражении с легкостью. Благодаря поддержке двенадцати различных драйверов баз данных и именованных параметров мы можем игнорировать небольшую потерю производительности и привыкнуть к ее API. С точки зрения безопасности, оба они являются безопасными, пока разработчик использует их так, как они должны использоваться

. Но хотя PDO и MySQLi довольно быстры, MySQLi выполняет незначительную скорость в тестах - ~ 2,5% для незаготовленных отчетов и ~ 6,5% для подготовленных.

И, пожалуйста, проверьте каждый запрос в своей базе данных - это лучший способ предотвратить инъекцию.

91
задан Donald Duck 27 November 2017 в 22:22
поделиться

5 ответов

Когда Вы вкладываете комментарий, замену "-" с "-". Когда Вы не вкладываете, инвертируете процедуру. Это не <!--, который запрещается, но --.

Пример:

<!-- some stuff
<!- - some inner stuff - ->
<!- - a sibling - ->
the footer -->
95
ответ дан johny why 24 November 2019 в 06:44
поделиться

Это не может быть сделано. --> будет всегда заканчивать существующий комментарий HTML.

8
ответ дан Pang 24 November 2019 в 06:44
поделиться

У некоторых редакторов есть команды комментария/некомментария, которые могут автоматически обработать существующие комментарии в блоке текста. Visual Studio, например, делает это при нажатии Ctrl+KC и Ctrl+KU.

1
ответ дан Dirk Vollmar 24 November 2019 в 06:44
поделиться

Я думаю, что это не позволяется, но насколько я знаю, что это работает в большинстве главных браузеров кроме Firefox.

0
ответ дан TheHippo 24 November 2019 в 06:44
поделиться

попробуйте использовать это

<!-- 

это начало комментария

<%-- this is another comment --%>

<%-- this is another one --%>

-> конец комментария.

0
ответ дан 24 November 2019 в 06:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: