0

問題があります。HTML データをデータベースに挿入しようとしていますが、挿入するとバックスラッシュ付きの引用符が返されます。(これは pdo セキュリティ機能だと思いますが、どうすれば無効にできますか?)。

PHP+PDO コードは...

if(!empty($_POST['site_ads_right'])) {
  $update1 = $db->prepare("UPDATE ads SET custom_html = :html WHERE position = :pos");
  $update1->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
  $update1->bindValue(':html', $_POST['site_ads_right'], PDO::PARAM_STR);
  $update1->bindValue(':pos', 4, PDO::PARAM_INT);
  $update1->execute();
}

そして、($_POST) の site_ads_right という html テキストエリアを使用して、このコードを挿入しようとしています。

<a href='http://www.example.com/index.php' target='_BLANK'><img src='img/content/a46adedac744f8f98b385ed392f92b3d_lll.jpg'></a>

しかし、それを挿入すると、データベースからの戻り値は...

<a href=\'http://www.example.com/index.php\' target=\'_BLANK\'><img src=\'img/content/a46adedac744f8f98b385ed392f92b3d_lll.jpg\'></a>

そして、バックスラッシュを置くフィルターなしで挿入する必要があります...

ありがとう。

よし、一緒に...

$update1 = $db->query("UPDATE ads SET custom_html = '".$_POST['site_ads_right']."' WHERE position = 4");

バックスラッシュなしでコードを挿入します。

4

1 に答える 1

1

ここでは PDO は関係ありません。それは完璧な仕事をしているセキュリティ機能です。

それは、独自の汎用サニタイズ機能の魔法の引用符です。 両方を取り除くだけです。

于 2013-02-11T18:10:37.487 に答える