在WordPress中,我试图使用Ajax只需点击一个按钮即可从X类加载一些帖子。
为了知道要加载哪些帖子/类别,我添加了一个" data-cat"属性为按钮,如下:
<a href="http://url-of-category-X" data-cat="123" class="loader">Category X</a>
然后我有一个特殊的file.php设置,它创建一个new WP_Query
来加载来自某个类别的帖子(无论什么类别ID都被输入到文件中)。
在Javascript中我有这个:
1- On '.loader' click use Ajax
2- get data-cat value
3- run special-file.php and feed it the data-cat value
4- get posts returned
5- load post HTML data in the DOM
6- End
我开始怀疑这是否真的不安全并且容易被黑客攻击?在我的解决方案中是否有任何大的禁忌?
是什么让我想知道这是一个黑客可以使用firebug或类似物编辑html并将数据cat值更改为潜在恶意的东西的想法,虽然我不知道是否真的可以提供恶意类别ID有害吗?
P.s special-file.php看起来像这样:
$thequery = new WP_Query( array( 'cat' => $cat_id, 'post_status' => 'publish', 'posts_per_page' => 4, 'ignore_sticky_posts'=> 1 ) );
foreach post in $thequery
echo the post title
echo the featured image
end foreach
wp_reset_postdata();
因此,您所有的Feed都是类别ID,它会使用基本的WordPress函数返回4个帖子(例如the_title();以获取帖子标题等。)
答案 0 :(得分:0)
问题不在于data-cat
。您需要关注的是清理从用户获得的任何请求数据。这意味着在将data-cat
值插入数据库查询之前检查{{1}}值是否安全。
答案 1 :(得分:0)
请确保始终彻底清理发布的值,例如:
$cat = isset( $_POST['cat'] ) && $_POST['cat'] ? intval( $_POST['cat'] ) : 0;