Chapter 1: The purpose
在如今的互联网中,https协议已经十分成熟,http页面愈发稀少了起来
可是仍有一些API在使用http协议,纵使多数都对安全性要求不高
但,当一个安全等级较高的网页中内嵌了这些API就会导致该页面的安全性下降,即使该页面使用了https协议
投机之人便可以通过这个API对用户发起攻击,可能会导致浏览器信息泄露、病毒入侵
这样看来,一个网页的全https便是很重要的
对此,我便开始清理网页中的http内容,其中之一便是随机图片的API
其实是火狐特有的不安全提示太烦人了
Chapter 2: Colecting pictures
随机图片API的核心便是图片,可以选取任意图片,但最好为统一格式
随后将所有图片的文件名一行一个,填在img.txt中,作为随机用的索引,格式如下
https://example.com/img1.png
https://example.com/img2.png
https://example.com/img3.png
https://example.com/img…
…
Chapter 2: Coding
代码出自@likepoems的博客
<?php
//存放api随机图链接的文件名img.txt
$filename = "img.txt";
if(!file_exists($filename)){
die('文件不存在');
}
//从文本获取链接
$pics = [];
$fs = fopen($filename, "r");
while(!feof($fs)){
$line=trim(fgets($fs));
if($line!=''){
array_push($pics, $line);
}
}
//从数组随机获取链接
$pic = $pics[array_rand($pics)];
//返回指定格式
$type=$_GET['type'];
switch($type){
//JSON返回
case 'json':
header('Content-type:text/json');
die(json_encode(['pic'=>$pic]));
//其他格式
//case 'some_type':
// header('Content-type:text/json');
// die(json_encode(['pic'=>$pic]));
default:
die(header("Location: $pic"));
}
?>
将其放置在服务器的文件夹中并且重命名为index.php
倘若访问网页后没有进行重定向,并且直接显示了代码,可以看看是不是服务器的PHP环境出错
Chapter 3: All in all
本文讨论了当前互联网中HTTPS协议的普遍性,相较之下,HTTP协议的页面数量逐渐减少。尽管许多API依然使用HTTP协议,其安全性要求不高,但当这些API嵌入到高安全性的HTTPS网页中时,可能会影响整体安全性。为了解决这一问题,本文建议清理HTTP内容,特别是随机图片API,该API通过统一格式选择图片,并将文件名记录在img.txt
中作为索引。此外,本文还提供了一段PHP代码,用于创建index.php
文件以运行该API,并指出直接显示代码而未进行重定向的原因可能是服务器的PHP环境配置问题。