PHP и PDO, предотвращающие внедрение Javascript - PullRequest
1 голос
/ 15 сентября 2010

У меня есть сайт, написанный на PHP с использованием PDO. Я использую функцию bindParam () для привязки к запросу вставки SQL:

("insert into Table (id, date, data) VALUES (?, ?, ?)")

но я могу вставить строку, содержащую

"<script>window.location="google.com"</script>"

Как это предотвратить?

Спасибо !!!

Ответы [ 2 ]

2 голосов
/ 15 сентября 2010

ЗОП не помешает вам сделать это. Вам нужно будет самому позаботиться о струне:

  1. Если вы вообще не хотите <script> теги, используйте strip_tags
  2. Если вы хотите, чтобы эти теги не выполнялись, используйте htmlentities
0 голосов
/ 15 сентября 2010

Предполагая, что вы имеете в виду

<script>window.location="google.com"</script>

Вам следует беспокоиться о защите от инъекций при отображении строк, поскольку вы не хотите заполнять базу данных объектами HTML.

Использовать htmlspecialchars()[1] на страницах, отображающих содержимое базы данных.

[1] http://www.php.net/manual/en/function.htmlspecialchars.php

...