3

WYSIWYG (CK エディター) からのユーザー入力で HTMLPurifier を実行しようとしていますが、画像が壊れています。

フィルタリングされていない入力:

<img alt="laugh" src="/lib/ckeditor/plugins/smiley/images/teeth_smile.gif" title="laugh">

デフォルト設定で浄水器を実行した後:

<img alt="&quot;laugh&quot;" src="%5C" title="&quot;laugh&quot;">

構成設定を変更してみました。しかし、私はsrcが保存されることはありません。何かご意見は?

4

4 に答える 4

4

magic_quotesが理由である可能性があるのではないかと疑っています。

また、あなたは試しましたか$config->set('Core.RemoveInvalidImg',true);。どのバージョンを使用していますか?(古いものまたは新しいものを試してください)

于 2010-10-09T05:54:24.647 に答える
3

同じ問題がありました。これで直りました

if (get_magic_quotes_gpc()) {
function stripslashes_gpc(&$value)
{
    $value = stripslashes($value);
}
array_walk_recursive($_GET, 'stripslashes_gpc');
array_walk_recursive($_POST, 'stripslashes_gpc');
array_walk_recursive($_COOKIE, 'stripslashes_gpc');
array_walk_recursive($_REQUEST, 'stripslashes_gpc');

}

于 2011-01-13T21:33:39.860 に答える
1

古い投稿に戻って、この小さなスニペットが他の人がここにたどり着くのを助けるかもしれないと思いました..

この行を .htaccess ファイルに追加することで、文字のエスケープに関連するコード内の多数の異常なアクティビティを修正しました

php_flag magic_quotes_gpc Off

PHP ドキュメントから「この機能は PHP 5.3.0 で非推奨になり、PHP 5.4.0 で削除されました」http://www.php.net/manual/en/security.magicquotes.what.php

また、マジック クォートを無効にする他の方法もあります http://www.php.net/manual/en/security.magicquotes.disabling.php

于 2012-07-23T15:16:33.350 に答える
1

htmlpurifier が何であるかはわかりませんが、そこにある img タグは、実行する前に完全に正当なものです (閉じられていないことを除いて)。あなたがそれを実行した後、それは物事を二重にエスケープしており、それはゴミのように見えます. %5C はバックスラッシュの URL コードです。バックスラッシュでスラッシュをエスケープしようとしているようで、チョークします。このプログラムは何ですか?HTML Tidyを推奨できますか?

于 2010-10-09T05:33:52.987 に答える