请不要将此代码投入生产
确定。因此,在我们开始回答您的问题之前,代码有很多问题需要解决。
首先,我们使用$_REQUEST
无正当理由--$_REQUEST
允许我们访问请求中发送的所有信息,这意味着$_POST[\'foo\']
$_REQUEST[\'foo\']
=== $_GET[\'foo\']
and also $_COOKIE[\'foo\']
! 这意味着我们只需在本地设置cookie,就可以从您的应用程序请求ID。
其次,我们要$post_id
用它来做这件事:
$post\\U id=$\\U请求[\'postID\']$page=get\\u post($post\\u id);
这意味着,一旦我们仔细检查了[get_post](https://developer.wordpress.org/reference/functions/get_post/)
并且发现它没有检查任何访问权限,这意味着您现在允许用户(您不认识的用户)获取您网站上的任何单个“帖子”。作为WordPress存储all 表中类似post的对象wp_posts
这意味着,如果您对任何类型的受保护信息使用WordPress帖子类型,那么用户只需请求即可访问该信息(理论上)。
第三,we are passing an unfiltered variable into a function a la$intro = get_post_meta($post_id, $key = \'podcast_file\', true);
– 谢天谢地,WordPress为我们过滤了这些输入
第四,我们然后发送此的返回值,unchecked 创建另一个变量$path = str_replace("http://com.areonline.co.uk/wp-content","",$intro);
第五,我们使用这个($path
) 变量并通过电子邮件发送as an attachment 发送人!!!
除此之外,请尝试使用jQuery.post 还可以考虑使用Localize Script 和(to answer the question) 同时使用event.preventDefault()
不管你不想发生什么。
在这种情况下:
$("#UniqueLevelEmailButton").click(function(e){
e.preventDefault();
// blah
}
<小时/>