Wordpress SQL默认搜索,如何处理SQL注入
Wordpress默认SQL搜索,如何在默认搜索期间处理SQL注入 示例:Sitename.com/?q=test或1=1- i、 e q=测试%20或%201=1%20-Wordpress SQL默认搜索,如何处理SQL注入,wordpress,sql-injection,Wordpress,Sql Injection,Wordpress默认SQL搜索,如何在默认搜索期间处理SQL注入 示例:Sitename.com/?q=test或1=1- i、 e q=测试%20或%201=1%20- 显示所有文章。为此,您可以使用三个钩子 “posts\u join”钩子将自定义表连接到post表 “posts_where”钩子扩展查询的where子句以查找 自定义表字段。 “posts\u groupby”钩子将GROUP BY子句添加到查询中 add_filter( 'posts_join', 'prefix_sea
显示所有文章。为此,您可以使用三个钩子 “posts\u join”钩子将自定义表连接到post表 “posts_where”钩子扩展查询的where子句以查找 自定义表字段。 “posts\u groupby”钩子将GROUP BY子句添加到查询中
add_filter( 'posts_join', 'prefix_search_join' );
add_filter( 'posts_where', 'prefix_search_where' );
add_filter ( 'posts_groupby', 'prefix_search_groupby' );
function prefix_search_join( $join )
{
//global $custom_table contain your custom table name
global $custom_table, $wpdb;
if( is_search() ) {
//your joining sql
}
return $join;
}
function prefix_search_where( $where )
{
if( is_search() ) {
//Where clause
}
return $where;
}
function prefix_search_groupby( $groupby )
{
global $wpdb;
if( !is_search() ) {
return $groupby;
}
//we need to group on post ID
$mygroupby = "{$wpdb->posts}.ID";
if( preg_match( "/$mygroupby/", $groupby )) {
//grouping we need is already there
return $groupby;
}
if( !strlen(trim($groupby))) {
//groupby was empty, use ours
return $mygroupby;
}
//wasn't empty, append ours
return $groupby . ", " . $mygroupby;
}
有关更多详细信息,请查看此链接我希望它能帮助您hi Nahid,感谢您的输入,但我正在寻找一个示例:用户在搜索框中从wp_帖子中输入选择*。然后进行搜索提交。使用查询参数,即搜索结果:选择*from wp_posts-0。我想自定义搜索结果,但不在占位符中添加查询。对于select子句,您可以使用添加过滤器“posts\U groupby”,“prefix\U search\U select”;钩