经过研究,我发现更建议将图像名称保存在数据库中,并将实际图像保存在文件目录中。少数几个原因中的两个是它更安全,图片加载速度更快。但是我并没有真正理解执行此过程的意义,因为每次我使用 firebug 工具检索图片时,我都可以在文件目录中找到可能导致潜在漏洞的图片路径。
我这样做是正确的还是不应该显示图像的完整文件目录路径?
用于将图像保存到数据库的 PHP
$images = retrieve_images();
insert_images_into_database($images);
function retrieve_images()
{
$images = explode(',', $_GET['i']);
return $images;
}
function insert_images_into_database($images)
{
if(!$images) //There were no images to return
return false;
$pdo = get_database_connection();
foreach($images as $image)
{
$path = Configuration::getUploadUrlPath('medium', 'target');
$sql = "INSERT INTO `urlImage` (`image_name`) VALUES ( ? )";
$prepared = $pdo->prepare($sql);
$prepared->execute(array($image));
echo ('<div><img src="'. $path . $image . '" /></div>');
}
}