求讲解一小段php代码,这段代码是怎么【反“防外链图片”】的?原理是什么?
- 老兵-猫族求讲解一小段php代码
这段代码是怎么【反“防外链图片”】的?原理是什么? 会不会很影响速度?
用法:http://服务器地址/这个代码的页面.php?p=图片地址复制代码- <?php
- $p=$_GET['p'];
- $pics=file($p);
- for($i=0;$i< count($pics);$i++)
- {
- echo $pics[$i];
- }
- ?>
- <?php
- vr4uGET['p'] 是get的啥?得从页面获取吧?获取不到就不能输出了吧~
我不会写php,只会看。
- yxmr首先你得告诉我“防外链图片”的原理是什么。。
- 老兵-猫族
- rihkddd防外链是根据referer做的,这段PHP的直接在服务端把图片请求了下来,然后传给了前端。
- yxmr百度了一下php的语法,感觉顶楼的那段代码其实就是获取(用户提交的)图片链接对应的(图片)文件,相当于把整个文件都load一下;
至于这是不是就能【反“防外链图片”】了,取决于“反外链图片”是不是不反这种直接load整个文件的情形。。 - rihkddd看这段代码的写法应该有点历史了,其实这么做也很好防止,一个固定服务器IP一直抓人家的图片,人家直接ban IP不就行了,
- 老兵-猫族
- 老兵-猫族
- 小粉红的浏览器直接请求对方服务器,对方可以通过referer判断是盗链。
这个做法是自己的服务器去把图片下下来,再发给用户。
抓个包就知道了。 - during2当然慢了,这个是把防盗链的图片通过服务器file()读到服务器的内存里再通过PHP页面输出到客户。
而普通外链只要从服务器输出几个文本的。 - 老兵-猫族
- yxmr直接推荐用户使用不防外链图片的xxx图床,像1024那样。。。
- 老兵-猫族
- 嘻哈小寒绕过了referrer限制所以能“破解防盗链”,图床的话,如果自己传图片可以用微博图床,如果是用户传,后端可以接到sm.ms上 iOS fly ~
- 老兵-猫族
- deadlilihttp://服务器地址/这个代码的页面.php?p=/etc/passwd
唉 老老实实去阿里买OSS+CDN 或者 七牛
真没几个钱 - 老兵-猫族
- 老兵-猫族