如何才能清理来自此代码的接收数据

时间:2011-02-20 作者:cmsdeployed
<form id="tellastory" method="post" action="">
    <label for="fullname">Full Name </label>
    <input id="fullname" name="fullname" type="text" maxlength="255" value=""/> 
    <label for="title">Title </label>
    <input id="title" name="title" type="text" maxlength="255" value=""/>
    <label for="title">Message </label>
    <textarea id="editor" name="editor" rows="20" cols="50"></textarea>
    <input type="hidden" name="form_id" value="123456" />       
    <input id="saveForm" type="submit" name="submit" value="submit" />
</form>
<?php
$storyteller_user_id = "3";  //your guest user id here
//$stories_category = "3";  //your stories category id here
$key = "storyteller";

if ($_POST[\'form_id\']=="123456") {
    $my_post = array(); 
    $my_post[\'post_title\'] =$_POST[\'title\'];
    $my_post[\'post_content\'] = $_POST[\'editor\'];
    $my_post[\'post_status\'] = \'publish\';
    $my_post[\'post_author\'] = $storyteller_user_id;
    $my_post[\'post_category\'] = array($stories_category);
    $post_Num = wp_insert_post( $my_post );
    add_post_meta($post_Num, $key, $_POST[\'fullname\']);
}
?>
1 个回复
SO网友:Michal Mau

卫生处理和逃跑总是严重依赖于环境,我不是这一领域的专家,无论如何,我最近也做了一些“研究”,所以我会尝试向你提供一些一般性的指导原则,直到有更具洞察力的人来提供最终的深入答案(我也很想读)

Codex文章Data Validation 是一个很好的开端。我相信esc_html() 是最常用的输出方法。

WordPress 3.1中似乎还有一个新成员加入了WP逃跑家族-esc_textarea().

WordPress一如既往地试图让您的生活更轻松,所以请务必检查现有的特定于上下文的功能,如sanitize_title()sanitize_user().

我建议您在wp-includes/formatting.php 了解更多有关各种方法及其构造方式的信息。

最近也有类似的关于wp黑客的讨论-绝对值得一读:
WP-HACKERS: Saving input from untrusted users. 我敢引用Andrew Nacin的观点:

概括如下:应在保存时进行清理,并在显示时进行转义。

所以你想跑步kses, absint, esc_url_raw, sanitize_text_field, 你有什么,保存。然后,使用esc_url, esc_html 随着texturization 或者你需要什么,你有什么,在输出上。可能存在在显示器上运行KSE的用例。我们在某些情况下会这样做。但只要数据安全地输入,就可以安全地输出。(如果不是,那么你就有一个更大的问题。)

还想要更多吗?;)
The Code Cave: WordPress Security – a plugin done right
Smashing Magazine: Keeping Web Users Safe By Sanitizing Input Data

祝你有一个愉快而安全的一天

结束

相关推荐

Security and .htaccess

大约一个月前,我在一个与爱好相关的托管服务器上创建了一个WordPress博客。所以,我目前还不熟悉这一点。由于我担心安全性,我做的一件事就是安装插件WP安全扫描。根据插件结果,我的网站会被检查出来,但我在结果中看到的是一个红旗:文件。wp admin中不存在htaccess/(我在那里ssh了,它不存在)好的,所以我在这个问题上做了大量的搜索,找到了太多的信息。htaccess。我在WordPress上经历了强化WordPress。org网站等,也遇到了这篇文章:http://digwp.com/201