能够使用.php作为图像扩展的人

能够使用.php作为图像扩展的人,php,html,mysql,Php,Html,Mysql,事实上,任何人都可以使用任何类型的扩展,只要他们把.png放在链接的末尾 就是有人在使用自动取款机,这会导致我网站上的每个人在访问主页时注销 我曾试图阻止它,但没有成功:( if(空($\u POST['banner'])){ echo“请为您的服务器添加横幅”; $b=假; }else if(strpos($b,'.php')!==false){ echo“您只能使用图像扩展”; $b=http://image.com/image.png'; }否则{ $b=带标签($贴['banner'])

事实上,任何人都可以使用任何类型的扩展,只要他们把.png放在链接的末尾

就是有人在使用自动取款机,这会导致我网站上的每个人在访问主页时注销

我曾试图阻止它,但没有成功:(

if(空($\u POST['banner'])){
echo“请为您的服务器添加横幅
”; $b=假; }else if(strpos($b,'.php')!==false){ echo“您只能使用图像扩展”; $b=http://image.com/image.png'; }否则{ $b=带标签($贴['banner']); }
我应该注意,我不允许上传图像,我使用一个输入字段,然后回显链接

<input name="banner" value="<?php if (isset($_POST['banner'])) echo $_POST['banner']; ?>" class="form-control" accept="image/x-png, image/gif, image/jpeg" type="text" placeholder="http://example.com/example.png" required>

在给变量赋值之前,您正在使用变量
$b

所以第四行应该是:

} else if (strpos($_POST['banner'], '.php') !== false) {
如果您想寻找
.php
之外的其他扩展,可以使用如下正则表达式:

} else if (preg_match("/\.(?:html|php|asp|js)/i", $_POST['banner'])) {

请注意,如果您只是开始尝试列出您不想要的每个文件扩展名,您将是一场失败的战斗。还允许人们加载他们想要的任何链接?您可能无意中将您的网站变成了垃圾邮件。我不确定我是否理解您的需要,您是否试图阻止人们在访问某些内容时注销像
http://rsps50.com/logout.php?.png
?或者您正在试图阻止人们发布包含您网站注销页面链接的链接?我已经编辑过,应该是
=
。如果您需要筛选扩展名为.php的文件,请尝试。如果您查看此页面:右键单击图像并获取其url注意,他们是如何在图像url中使用logout.php的,@marcos“”是他正在使用的,如果他愿意,他可以这样做,并且仍然会让人添加它在这种情况下变量$b包含什么?
} else if (preg_match("/\.(?:html|php|asp|js)/i", $_POST['banner'])) {