是的,存在安全漏洞。上传文件名由用户控制:
$filename = explode(".",$_FILES['upload_file']['name']); $ext = end($filename);
$ext
在这两种情况下 $ext 可以由攻击者自由控制,并且看到你以后在没有卫生的sql查询中使用它,你有一个严重的SQL注入漏洞。
您不应该通过连接字符串来构建SQL查询。你正在使用PDO,所以请自己帮个忙 参数化查询 ,它会为你省去很多麻烦。
编辑:
另一个漏洞可能是您的脚本允许您上传任何文件类型,因此如果您没有禁用上传目录的php执行,任何人都可以上传一个php文件,然后在服务器上执行。