gpt4 book ai didi

php - 插入MySQL上传查询php

转载 作者:行者123 更新时间:2023-11-30 00:26:38 24 4
gpt4 key购买 nike

我正在尝试制作一个脚本来将图像链接保存在数据库中,例如 example.com/image.jpg一切正常,我只是希望如果有人输入错误的网址,例如没有扩展名 .jpg 、 .png 或 .gif ,它会给用户错误,以便他们输入正确的网址

这是我的 PHP 代码

if(isset($_POST['img']));
$img = $_POST['img'];
$ti = $_POST['titl'];

$query = mysqli_query($con,"SELECT * FROM image WHERE url='$img'")

or die(mysqli_error($con));
if(mysqli_num_rows($query) > 0 ) { //check if there is already an entry for that word
echo "Image already exists! ";
}
else {
mysqli_query($con,"INSERT INTO image (Title, url,) VALUES ('$ti','$img')");
echo "Image Successfully Added";
}

这是 html

<form  action="" method="POST" >
<span>Title:</span>
<input type="text" name="titl" maxlength="100" /><br>
<span>Image URL:</span>
<input type="text" name="img" maxlength="300" />
<input type="submit" value="Add Image!" id="subm" class="button" />
</form>

最佳答案

$accept = ['.jpg', '.gif', '.png']; // the file extensions you will accept

if (in_array(substr($img, -4), $accept)) // check last 4 chars in $accept
{
echo "This works";
// update mysql table
} // if
else
{
echo "This fails";
} // else

这只是一种检查文件名的方法,而不是检查文件内容的方法。正如 @Fred-ii 所提到的:图像仍然必须针对恶意代码进行清理。一项初步措施是将文件重命名为随机名称,并将随机 ID 存储在数据库中。您还可以使用 GD 或 ImageMagick 1:1 复制文件,这将压缩文件并删除任何恶意代码。您还可以从其他域(如果有)提供图像,以保护您的主站点及其数据。

关于php - 插入MySQL上传查询php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22823079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com