Php 如何隐藏img源IP?
我有一个img标签嵌入了我的公共服务器的图像路径,并将图像显示给用户:Php 如何隐藏img源IP?,php,html,image,smarty,imgur,Php,Html,Image,Smarty,Imgur,我有一个img标签嵌入了我的公共服务器的图像路径,并将图像显示给用户: <img src="http://13.43.68.1:8000/img/gen/trafiic.png"> 在这种情况下,如何隐藏src IP 如果源代码将图像URL提供给您,您可以获取URL内容并在base64中对其进行编码。检查以下代码: $imgURL = 'https://via.placeholder.com/350x150'; $imageData = file_get_contents($img
<img src="http://13.43.68.1:8000/img/gen/trafiic.png">
在这种情况下,如何隐藏src IP 如果源代码将图像URL提供给您,您可以获取URL内容并在base64中对其进行编码。检查以下代码:
$imgURL = 'https://via.placeholder.com/350x150';
$imageData = file_get_contents($imgURL);
$imgSrc = 'data:image/png;base64,' . base64_encode($imageData);
return '<img src="'.$imgSrc.'">';
$imgURL='1https://via.placeholder.com/350x150';
$imageData=文件获取内容($imgURL);
$imgSrc='数据:图像/png;base64'。base64_编码($imageData);
返回“”;
您可以使用将图像转换为base64,并将base64解码为src,而不是使用url我想说,您的IP暴露并不是一个特别的安全漏洞。您可以获取任何服务器的IP地址,无论其是否由主机名支持。我建议您购买一个域名(或映射现有域的子域),并使用a记录将其指向您的映像服务器IP地址
然后,您可以通过进入http://fakedomain.com:8000/img/gen/trafiic.png
例如
虽然您可以将所有图像转换为base64并以这种方式输出,但您的源代码将会增长—最好保留单独的请求:)
备选方案:
- 使用Cloudflare等中间人来防止暴露您的IP地址
- base64-但不推荐,因为它的页面加载成本很高(但这取决于您的需要)
- 使用脚本生成图形并将其卸载到类似AmazonS3的地方,然后从那里加载
数据URI方案
可以解决此问题,但如果源仅提供url映像,该如何处理?如果该服务器的IP地址是机密的,则不要在其上托管公共数据。
$imgURL = 'https://via.placeholder.com/350x150';
$imageData = file_get_contents($imgURL);
$imgSrc = 'data:image/png;base64,' . base64_encode($imageData);
return '<img src="'.$imgSrc.'">';