我正在开发一些 WordPress 插件,它的功能之一是能够将用户输入的 HTML 正则表达式模式存储到数据库,然后将其显示在设置页面上。
我的方法实际上是可行的,但我想知道该代码是否足够安全:
那是用户输入的模式:
<div(.+?)class='sharedaddy sd-sharing-enabled'(.*?)>(.+?)<\div><\div><\div>
这就是我在 DB 中存储 HTML 模式的方式:
$print_options['custom_exclude_pattern'] = htmlentities(stripslashes($_POST['custom_exclude_pattern']),ENT_QUOTES,"UTF-8");
这就是它实际存储在 WordPress DB 中的方式:
s:22:"custom_exclude_pattern";s:109:"<div(.+?)class="sharedaddy sd-sharing-enabled"(.*?)>(.+?)<\div><\div><\div>";
这就是输出在设置页面上的显示方式:
<input type="text" name="custom_exclude_pattern" value="<?php echo str_replace('"',"'",html_entity_decode($print_options['custom_exclude_pattern'])); ?>" size="30" />
感谢帮助 :)