头图,做了好久QWQ

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环境配置问题。