關於解決微信圖文防盜鏈方案


推薦方法一

<meta name="referrer" content="never">

就這么一句話,把它放到<head>頭里就可以了。記得要把其他影響圖片的東西給刪了,不然會沖突。

========================================================================================

我自己本人的,因為我希望點擊一個鏈接時跳轉到微信圖文,然后在該頁面點擊返回圖標從微信圖文返回之前的APP頁面,我在自己網站的HTML里的div中嵌套一個<iframe>標簽,src鏈接到微信公眾號里的圖文,跑出來后只能顯示文字,不能加載顯示圖片,百度了說是微信的防盜鏈,有說在<head>標簽里加<meta name="referrer" content="never">但好像也只能在手機的訪問顯示,也有把圖片的data-src改成src(在瀏覽器右鍵圖片檢查時可以看到這些屬性,更改時是可以顯示的,但我不知道怎么保,其他不太清楚,反正我不知道什么鬼),但我頁面只是一個div里嵌套iframe標簽鏈接到微信公眾號的圖文,沒其他的,找了一天,為此還白花了15塊買個文檔來也沒用,最后終於找到了一個只用js就可以破解微信圖文防盜鏈的,感謝來自博客園的“前端小透明”

地址:http://www.cnblogs.com/xiaomingSun/p/6761708.html

如果你只是通過點擊一個鏈接跳轉到微信圖文的話,直接一個標簽鏈接到你的目的地址就行,但是這樣你不能返回之前的頁面,所以我在div里寫放了個返回圖片,再在div里嵌套一個<iframe>標簽,鏈接到微信圖文,這樣在移動端跑出來后就只能看到文字,圖片都沒有加載顯示出來,這和http的referrer有關系,具體原理請百度微信防盜鏈原理了解,下面就是我的<body>代碼:

<body>

    <div class="container">

        <!--S-頂部欄-->

        <div class="header-box">

            <div class="left-return">

                <a href="#">

                    <img src="~/Images/icon/left30X30.png" width="15" height="15" />

                </a>  

            </div>

            <div class="middle">資訊中心</div>

        </div>

        <!--E-頂部欄-->

        <!--S-iframe資訊欄-->

        <div class="news-box">

             <!—如果加入了下面的js,則此處的src鏈接地址可以不寫-->

            <iframe id="myframe" src="http://mp.weixin.qq.com/s/d1NIaupcZT_yeZnz4QRS1A">

 

            </iframe>

        </div>

        <!--E-iframe資訊欄-->

    </div>

</body>

加入js

<script>

        //破解iframe微信推文(圖片)防盜鏈

        $.ajaxPrefilter(function (options) {

            if (options.crossDomain && jQuery.support.cors) {

                var http = (window.location.protocol === 'http:' ? 'http:' : 'https:');

                options.url = http + '//cors-anywhere.herokuapp.com/' + options.url;

            }

        });

 

        var share_link = "http://mp.weixin.qq.com/s/d1NIaupcZT_yeZnz4QRS1A"; //微信文章地址

        $.get(

            share_link,

            function (response) {

                //console.log("> ", response);

                var html = response;

                html = html.replace(/data-src/g, "src");

                var html_src = 'data:text/html;charset=utf-8,' + html;

                $("iframe").attr("src", html_src);

            });

    </script>

==========================================================================================

百度其他方法一:

例子:

<div class="M_detail-con" id="ddb-branch-introduction">
{php echo htmlspecialchars_decode($hd['description'])} //微信內容

</div>

引入下面js

<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>

<script>

                         

                          $("#ddb-branch-introduction img").each(function () {

            var img = $(this);

            if (img.parent().attr("id") != "ad1") {

                var img_src = img.attr("src");

                var frameid = 'frameimg' + Math.random();

                window.img = '<img id="img" style="width:100%" src=\'' + img_src + '?' + Math.random() + '\' /><script>window.onload = function() { parent.document.getElementById(\'' + frameid + '\').height = document.getElementById(\'img\').height+\'px\'; }<' + '/script>';

                img.parent().append('<iframe id="' + frameid + '" src="javascript:parent.img;" frameBorder="0" scrolling="no" width="100%"></iframe>');

                img.remove();

            }

        });

                         

</script>

===============================================================================================================================

百度其他方法二:

<?php 
$p=$_GET['p']; 
$pics=file($p); 
for($i=0;$i< count($pics);$i++) 

echo $pics[$i]; 


?> 

使用方法:將以上內容文件保存成p.PHP上傳到根目錄 
然后在前端對應頁面加入以下代碼(修改你的域名進去即可)

改圖片地址方法:

<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>

<script>

                          $(function() {

                                   var pattern = /^http:\/\/mmbiz/;

                                   var patterns = /^https:\/\/mmbiz/;

                                   var mmsns = /^http:\/\/mmsns/;

                                   var mmsnss = /^https:\/\/mmsns/;

                                   var prefix= 'http://你的域名/p.php?p=';                                  

$("img").each(function(){

                                            var src = $(this).attr('src');

                                            if(pattern.test(src)){

                                                     var newsrc = prefix+src;

                                                     $(this).attr('src',newsrc);

                                            }

                                            if(patterns.test(src)){

                                                     var newsrc = prefix+src;

                                                     $(this).attr('src',newsrc);

                                            }

                                            if(mmsns.test(src)){

                                                     var newsrc = prefix+src;

                                                     $(this).attr('src',newsrc);

                                            }

                                            if(mmsnss.test(src)){

                                                     var newsrc = prefix+src;

                                                     $(this).attr('src',newsrc);

                                            }

                                   });

                          });

                  </script>

 

菜鳥一枚,希望對大家有幫助!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM