PHP如何解决微信文章图片防盗链

微信对外提供了API接口,让我们可以通过授权的方式获取到自己公众号里面的文章

或者你也可以通过爬虫去抓取微信的文章

但是微信的图片默认是不允许外部调用的

解决微信文章图片防盗链

function actionWechatImg()
{
  header('Content-type: image/jpg');
  $url = $_GET['url'];
  $refer = "http://www.qq.com/";
  $opt = [
      'http'=>[
        'header'=>"Referer: " . $refer
      ]
      ];
  $context = stream_context_create($opt);
  $file_contents = file_get_contents($url,false, $context);
  echo $file_contents;
}

调用示例:

<img src="http://xxx.com.cn/wechat-img?url=http%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz%2F5ddyukqqNUt7ic07NicfAz9u0KrHEibKKMiab2cXA2sIqoj81hRsMZC65DCiaN67FsH2WaXkNOEE0YFLj5OHwIOegIg%2F0%3Fwx_fmt%3Djpeg">

其实就是模拟来源站点。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Nginx学习之如何搭建文件防盗链服务的方法示例

    前言 大家都知道现在很多站点下载资料都是要收费的,无论是积分还是金币,想免费只能说很少很少了,那么这些网站是如何做到资源防盗链的呢? 这里推荐一款比较容易上手的神器,Nginx本身提供了secure_link来完成防盗链功能,可以给服务器文件链接添加时间戳和校验码,从而保护服务器文件不被任意下载盗用. 时序图 Nginx配置 如何安装Nginx这里不再赘述,安装的时候记得开启ngx_http_secure_link_module即可. ./configure --with-http_secure

  • nginx 防盗链防爬虫配置详解

    新建配置配置文件 (例如进入到nginx安装目录下的conf目录,创建: agent_deny.conf) 禁止Scrapy等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } 禁止指定UA及UA为空的访问 #forbidden Scrapy if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } #forbidden UA if

  • PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】

    本文实例讲述了PHP实现图片防盗链破解操作.分享给大家供大家参考,具体如下: 很多小伙伴的博客,网站都是用图床来实现的,那么现在很多稳定的图床接口都被做了防盗链处理,例如百度.阿里.京东.小米.搜狗等. 所以我们应该怎么避开防盗链直接使用图片呢? 1 防盗的原理是什么? 当客户端(浏览器)向服务器请求内容的时候,会提交一个header,这个header中包含了如:浏览器信息.cookie等内容,那么有一个叫referer的东东,也包含在这里面. referer是干啥用的呢? 它就是告诉服务器,这

  • Nginx配置防盗链的完整步骤

    需求: 通常站点,都会想让自己网站的视频和图片,免被盗用,毕竟视频流量,花的都是白花花银子(土豪可以不用考虑)~~. 一.单刀直入,先上nginx配置文件 server { listen 80; server_name www.test.com; root /data/web/; index index.php index.html; access_log /data/logs/nginx/biao.madacode.access.log main; location /{ root /home

  • SpringBoot集成FastDFS+Nginx整合基于Token的防盗链的方法

    为什么要用SpringBoot? SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者. 创建独立的Spring应用程序 嵌入的Tomcat,无需部署WAR文件 简化Maven配置 自动配置Spring 提供生产就绪

  • Nginx跨域访问场景配置和防盗链详解

    跨域访问控制 跨域访问 为什么浏览器禁止跨域访问 不安全,容易出现CSRF攻击! 如果黑客控制的网站B在响应头里添加了让客户端去访问网站A的恶意信息,就会出现CSRF攻击 Nginx如何配置跨域访问 add_header语法 Syntax:add_header name value [always]; Default:- Context:http, server, location, if in location 语法解释: add_header name value [always]; nam

  • 简单解决微信文章图片防盗链问题

    微信对外提供了API接口,让我们可以通过授权的方式获取到自己公众号里面的文章,或者你也可以通过爬虫去抓取微信的文章,但是微信的图片默认是不允许外部调用的 这里我找到了两种方案 第一种 在JS中提前把图片加载到本地,然后从本地缓存中读取图片 var showImg = function (url) { var frameid = 'frameimg' + Math.random(); window.img = '<img id="img" src=\'' + url + '?' +

  • 使用.htaccess设置图片防盗链的详细方法

    真正有用的.htaccess写法为 RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ [NC] RewriteCond %{HTTP_REFERER} !jb51.net [NC] RewriteCond %{HTTP_REFERER} !youdao.com [NC] RewriteCond %{HTTP_REFERER} !zhuaxia.com [NC] RewriteCond %{HTTP_REFERER} !twitter.com [NC

  • 配置Nginx的防盗链的操作方法

    实验环境 •一台最小化安装的CentOS 7.3虚拟机 •配置:1核心/512MB •nginx版本1.12.2 一.配置盗链网站 1.启动一台nginx虚拟机,配置两个网站 vim /etc/nginx/conf.d/vhosts.conf 添加以下内容 server { listen 80; server_name site1.test.com; root /var/wwwroot/site1; index index.html; location / { } } server { list

  • 详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案

    已经获取微信公众号发布的图片,但不能正常显示 ,提示:此图片来自微信公众平台 未经允许不得引用. 这是怎么回事呢? 遇到这种问题是因为微信公众平台对图片采用了防盗链设置,微信对外提供了API接口,让我们可以通过授权的方式获取到自己公众号里面的文章,或者你也可以通过爬虫去抓取微信的文章,但是微信的图片默认是不允许外部调用的 那该怎么解决这种问题呢? 这里我找到了两种方案 第一种 在JS中提前把图片加载到本地,然后从本地缓存中读取图片 var showImg = function (url) { v

随机推荐