真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ASP.NET服務(wù)器控件授權(quán)的示例分析

小編給大家分享一下ASP.NET服務(wù)器控件授權(quán)的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比殷都網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式殷都網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋殷都地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴。

大家知道,微軟.NET框架有一個(gè)內(nèi)置的可擴(kuò)展授權(quán)結(jié)構(gòu),在此基礎(chǔ)上,可提供進(jìn)行優(yōu)化的對ASP.NET服務(wù)器控件授權(quán)。此外,還可以擴(kuò)展該授權(quán)實(shí)現(xiàn),以創(chuàng)建自定義授權(quán)方案,例如:

◆簡單授權(quán)方案 - 只檢查是否存在有效的許可數(shù)據(jù),以決定是否啟用控件。

◆按每次使用授權(quán)方案 - 經(jīng)過某個(gè)使用計(jì)數(shù)后,許可過期。此方案可用于控件的演示版。許可過期后,應(yīng)用程序開發(fā)人員可以注冊(和購買)您的控件,然后收到一個(gè)不過期許可。

◆只有當(dāng)請求來自特定客戶機(jī)(如本地計(jì)算機(jī))時(shí),才在某個(gè)頁面中啟用 ASP.NET服務(wù)器控件授權(quán)方案。此方案可用于實(shí)現(xiàn)控件的試用版。

◆依靠加密來防止應(yīng)用程序開發(fā)人員進(jìn)行許可數(shù)據(jù)欺騙的授權(quán)方案。

ASP.NET服務(wù)器控件授權(quán)要求

ASP.NET服務(wù)器控件授權(quán)方案必須滿足以下要求:

◆支持不編譯方案。ASP.NET Web 應(yīng)用程序常常使用動態(tài)編譯模型,因此沒有與應(yīng)用程序相關(guān)聯(lián)的預(yù)編譯程序集。授權(quán)機(jī)制不應(yīng)該依靠在應(yīng)用程序的程序集中找到作為程序集資源嵌入的許可。

◆支持運(yùn)行時(shí)授權(quán)。頁面開發(fā)人員使用可視設(shè)計(jì)時(shí)工具及簡單文本編輯器,來開發(fā)自己的頁面。授權(quán)機(jī)制不能依靠設(shè)計(jì)時(shí)檢查,必須提供運(yùn)行時(shí)驗(yàn)證。而且,運(yùn)行時(shí)授權(quán)實(shí)現(xiàn)不應(yīng)與任何(可選的)設(shè)計(jì)時(shí)授權(quán)實(shí)現(xiàn)有依賴關(guān)系。

◆支持許可緩存機(jī)制。理想情況下,每個(gè)應(yīng)用程序只應(yīng)該檢索一次許可數(shù)據(jù),而不是針對每個(gè)頁面請求都進(jìn)行檢索,因?yàn)闄z索邏輯會涉及開銷較大的操作,例如,打開文件和對信息解密。應(yīng)該在第一次需要許可時(shí)創(chuàng)建許可,并進(jìn)行緩存,以便以后在服務(wù)器上重用。您仍然可以在每次使用許可來實(shí)現(xiàn)基于使用的授權(quán)方案時(shí),驗(yàn)證緩存的許可。

◆支持 XCOPY 部署。ASP.NET 使得頁面開發(fā)人員能夠只是通過在網(wǎng)絡(luò)上的計(jì)算機(jī)之間復(fù)制文件,就可以部署其 Web 應(yīng)用程序。授權(quán)方案不應(yīng)該依靠注冊表,或者其他禁止簡單 XCOPY 部署的特定于計(jì)算機(jī)的資源。

為簡單起見,我們在前面的列表中使用了服務(wù)器控件這個(gè)術(shù)語。不過,授權(quán)要求適用于所有 ASP.NET服務(wù)器組件。同樣,本文中描述的 ASP.NET 控件授權(quán)方案也適用于其他 ASP.NET服務(wù)器組件。

已授權(quán)控件演練

ASP.NET服務(wù)器控件授權(quán)涉及三個(gè)關(guān)鍵元素:

◆控件中支持授權(quán)的代碼

◆許可數(shù)據(jù)

◆檢查許可數(shù)據(jù)、發(fā)放許可以及在后來使用控件時(shí)驗(yàn)證許可的類

已授權(quán)服務(wù)器控件

下面列出的 LicensedLabel 服務(wù)器控件是從 ASP.NET System.Web.UI.WebControls.Label 控件派生的,并為其添加了授權(quán)支持。以粗體顯示的代碼提供了授權(quán)功能。

// LicensedLabel.cs  //  using System;  using System.ComponentModel;  using System.Web.UI.WebControls;  namespace LicensedControls {  [  LicenseProvider(typeof(ServerLicenseProvider))  ]  public class LicensedLabel : Label {  public LicensedLabel() {  LicenseManager.Validate(typeof(LicensedLabel));  }  }  }

該示例說明了為支持授權(quán),您必須向任何服務(wù)器組件的代碼添加下列內(nèi)容:

◆在控件的構(gòu)造函數(shù)中,調(diào)用System.ComponentModel.LicenseManager 類的靜態(tài)方法Validate,并將它作為參數(shù)傳遞到組件的類型中。如果該控件沒有有效許可,LicenseManager 的 Validate 方法將引發(fā) System.ComponentModel.LicenseException。另一種方法是,在構(gòu)造函數(shù)中,您可以調(diào)用 LicenseManager 類的靜態(tài)方法 IsValid,這樣就不會引發(fā)異常。如果您希望在沒有有效許可的情況下啟用控件(在簡裝版本上就是如此),請調(diào)用 IsValid 方法。

◆將System.ComponentModel.LicenseProviderAttribute 元數(shù)據(jù)屬性應(yīng)用于您的組件,并向它傳遞執(zhí)行組件授權(quán)的許可提供程序(從 System.ComponentModel.LicenseProvider 派生的類)的類型。本文中ASP.NET服務(wù)器控件授權(quán)基礎(chǔ)結(jié)構(gòu)一節(jié)顯示了 LicensedLabel 控件的許可提供程序 ServerLicenseProvider 的實(shí)現(xiàn)。

如圖 1 所示,您為支持授權(quán)而必須對控件所做的更改是最小的。真正的授權(quán)功能在許可提供程序類中,稍后再說明這部分內(nèi)容。

ASP.NET服務(wù)器控件授權(quán)的示例分析

圖 1. LicensedLabelTest.aspx 頁嘗試在沒有有效許可的情況下使用 LicensedLabel 時(shí)生成的錯誤

如果您已經(jīng)在 Windows窗體控件中實(shí)現(xiàn)了授權(quán),您可能很驚奇地發(fā)現(xiàn),LicensedLabel 不處置其許可。這是因?yàn)椋琇icensedLabel 使用一個(gè)在服務(wù)器上緩存許可的許可提供程序。

許可數(shù)據(jù)

許可數(shù)據(jù)提供由授權(quán)結(jié)構(gòu)進(jìn)行驗(yàn)證并合并到許可中的信息。您可以用許多不同的方式提供許可數(shù)據(jù)(如過期日期、使用計(jì)數(shù)或唯一密鑰)。許可數(shù)據(jù)的類型和位置由特定的授權(quán)方案來指定。通常在擴(kuò)展名為.lic 的文件中提供許可數(shù)據(jù)。圖1中的LicensedLabel控件的許可數(shù)據(jù)位于一個(gè)名為 LicensedControls.LicensedLabel.lic 的文件中,該文件只包含文本 "LicensedControls.LicensedLabel is licensed"。

在頁面上使用已授權(quán)控件

隨本文的代碼示例提供的 ReadMe 文檔描述了如何構(gòu)建這些示例。

在頁面中使用 LicensedLabel 控件

1.將 LicensedControls 程序集(包含 LicensedLabel 控件)復(fù)制到應(yīng)用程序的 \Bin 目錄。如果您使用的是 Microsoft Visual Studio? .NET 并在您的 Web 應(yīng)用程序項(xiàng)目中添加了對 LicensedControls 項(xiàng)目的引用,則不需要此步驟。

2.將 LicensedControls.LicensedLabel.lic 文件復(fù)制到應(yīng)用程序的 Licenses\LicensedControls\1.0.0.0 目錄。

現(xiàn)在,您應(yīng)該能從應(yīng)用程序中的任何頁面使用控件。

下面的代碼顯示了一個(gè)使用 LicensedLabel 控件的頁面。

<%@ Page language="c#" %> <%@ Register TagPrefix="lc" Assembly="LicensedControls" Namespace="LicensedControls" %>   LicensedLabel Sampletitle> head> <body> <form method="post" runat="server" ID="Form1"> <p> <lc:LicensedLabel runat="server" id="LicensedLabel1" Text="Hello  World!" /> p> form> body> html></pre><p>要查看ASP.NET服務(wù)器控件授權(quán)是否正在生效,請刪除 LicensedControls.LicensedLabel.lic 文件或?qū)⑺频搅硪粋€(gè)位置。重新生成應(yīng)用程序或做出某個(gè)可導(dǎo)致應(yīng)用程序重新啟動的更改。此步驟的作用是清除由 ServerLicenseProvider(LicensedLabel 控件的元數(shù)據(jù)中指定的許可提供程序)管理的許可緩存。在瀏覽器中請求 LicensedLabelTest.aspx 頁。該頁將生成圖1中顯示的錯誤。</p><p><strong>.NET 框架授權(quán)結(jié)構(gòu)</strong></p><p>下圖(圖 2)說明了 .NET 框架的授權(quán)結(jié)構(gòu)。從中可以看出當(dāng)一個(gè)頁面嘗試對前面一節(jié)描述的 LicensedLabel 控件進(jìn)行實(shí)例化時(shí)發(fā)生的主要步驟。雖然實(shí)際步驟發(fā)生在服務(wù)器控件的上下文中,但該圖顯示了構(gòu)成 .NET 框架授權(quán)結(jié)構(gòu)的類,以及任何運(yùn)行時(shí)授權(quán)方案所共有的關(guān)鍵步驟。許可提供程序執(zhí)行的確切步驟是特定于提供程序?qū)崿F(xiàn)的具體授權(quán)方案的。例如,正如本文中 ASP.NET服務(wù)器控件授權(quán)基礎(chǔ)結(jié)構(gòu)一節(jié)所描述的,圖中顯示的許可緩存功能就是特定于 ServerLicenseProvider 的。以粗體顯示的類是 .NET 框架類,以斜體顯示的類是實(shí)現(xiàn)的派生類。</p><p><img src="/upload/otherpic48/506019.gif" alt="ASP.NET服務(wù)器控件授權(quán)的示例分析"> </p><p>圖2. .NET框架的授權(quán)結(jié)構(gòu)</p><p>實(shí)施ASP.NET服務(wù)器控件授權(quán)的主要步驟包括:</p><p>1.已授權(quán)控件在其構(gòu)造函數(shù)中調(diào)用靜態(tài)方法 System.ComponentModel.LicenseManager.Validate。(該控件也可以在其構(gòu)造函數(shù)中調(diào)用靜態(tài)方法 LicenseManager.IsValid。在這種情況下,返回類型與圖中顯示的會有所不同,并且不會引發(fā)異常。)</p><p>2.LicenseManager.Validate 方法檢查組件的元數(shù)據(jù),從應(yīng)用于該組件的 LicenseProviderAttribute 屬性獲得許可提供程序的類型。許可提供程序類必須從 System.ComponentModel.LicenseProvider 類派生。</p><p>3.LicenseManager 對許可提供程序類(System.ComponentModel.LicenseProviderAttribute 元數(shù)據(jù)屬性中指定了它的類型)進(jìn)行實(shí)例化,將該組件的類型傳遞到該許可提供程序,并指出該組件在設(shè)計(jì)時(shí)使用還是在運(yùn)行時(shí)使用。</p><p>4.許可提供程序在許可緩存中查找組件的許可。如果找到一個(gè)許可,許可提供程序就驗(yàn)證該許可。注意,許可緩存查找和許可存儲不是一般的要求,而是特定于 ServerLicenseProvider - 我們已經(jīng)實(shí)現(xiàn)的許可提供程序的。</p><p>a.(僅限第一次)許可提供程序獲取許可數(shù)據(jù),并進(jìn)行驗(yàn)證。如果該數(shù)據(jù)無效,許可提供程序?qū)⒁l(fā) System.ComponentModel.LicenseException 異常。</p><p>b.(僅限第一次)如果許可數(shù)據(jù)有效,許可提供程序?qū)?chuàng)建一個(gè)許可(從 System.ComponentModel.License 派生的類)。此外,許可提供程序還會驗(yàn)證許可,如果許可有效,則將它存儲在許可緩存中。</p><p>5.許可提供程序?qū)⒁粋€(gè)有效許可返回許可管理器,或引發(fā)許可異常。</p><p>6.LicenseManager.Validate 方法返回一個(gè)有效許可,或?qū)⒃S可異常傳遞到調(diào)用代碼中。</p><p>7.如果 LicenseManager 返回有效許可,構(gòu)造函數(shù)將對該類進(jìn)行初始化,該控件將被實(shí)例化。否則,構(gòu)造函數(shù)將 LicenseException 異常傳遞到試圖實(shí)例化該控件的代碼。本文已授權(quán)控件演練一節(jié)中的圖所顯示的錯誤消息是 ASP.NET 運(yùn)行時(shí)產(chǎn)生的,ASP.NET 運(yùn)行時(shí)處理當(dāng)某頁在沒有有效許可的情況下使用已授權(quán)控件時(shí),由該控件的構(gòu)造函數(shù)傳遞的許可異常。</p><p>初次創(chuàng)建指的是組件在 Web 應(yīng)用程序中的第一次實(shí)例化。如果在同一頁上或者在應(yīng)用程序中的另一頁上創(chuàng)建了該組件的另一個(gè)實(shí)例(在同一個(gè)請求中或者在后來的請求中),則不會發(fā)生步驟 4a 和 4b。出于性能方面的原因,ServerLicenseProvider按每個(gè)應(yīng)用程序?qū)υS可進(jìn)行緩存(而不是按每頁或每個(gè)會話)。</p><p>.NET 框架中授權(quán)結(jié)構(gòu)的設(shè)計(jì)使得非法使用組件非常困難(但并非不可能)。如果用戶試圖在沒有許可的情況下使用一個(gè)已授權(quán)組件,授權(quán)機(jī)制就會使用戶很明顯地看出該組件正在被非法使用。授權(quán)不產(chǎn)生組件篡改證據(jù)。</p><p>.NET 框架中的授權(quán)結(jié)構(gòu)是由 System.ComponentModel 命名空間中的以下四個(gè)類提供的:</p><p>◆LicenseManager:該類負(fù)責(zé)對組件的元數(shù)據(jù)中指定的許可提供程序進(jìn)行實(shí)例化。許可管理器還向許可提供程序傳遞組件的類型和授權(quán)上下文,授權(quán)上下文指明該組件是在設(shè)計(jì)時(shí)使用還是在運(yùn)行時(shí)使用。除了在組件的構(gòu)造函數(shù)中調(diào)用 LicenseManager 類的 Validate 或 IsValid 方法之外,您無需知道有關(guān) LicenseManager 的其他詳細(xì)信息。</p><p>◆LicenseProviderAttribute:此屬性指定負(fù)責(zé)創(chuàng)建和驗(yàn)證組件許可的許可提供程序的類型。您必須將此屬性應(yīng)用于支持授權(quán)的組件。</p><p>◆LicenseProvider:該類包含任何授權(quán)方案的核心功能 - 即發(fā)放和驗(yàn)證許可的任務(wù)。要實(shí)現(xiàn)授權(quán)支持,您必須通過從 LicenseProvider 派生來創(chuàng)建自定義許可提供程序,并實(shí)現(xiàn)基類的抽象方法 GetLicense,以提供授權(quán)邏輯。</p><p>◆License:該類是許可數(shù)據(jù)(如包含在 .lic 文件中的許可數(shù)據(jù))的軟件抽象。要實(shí)現(xiàn)許可類,您必須從 License 類派生,并實(shí)現(xiàn)基類的抽象屬性 LicenseKey。在本文的下一節(jié),我們將實(shí)現(xiàn)一個(gè)與ServerLicenseProvider一起使用的許可類。</p><p>.NET 框架在 System.ComponentModel.LicFileLicenseProvider 類中提供了許可提供程序的默認(rèn)實(shí)現(xiàn)。該許可提供程序依靠可視設(shè)計(jì)器(如 Visual Studio .NET)在設(shè)計(jì)時(shí)和編譯期間獲取ASP.NET服務(wù)器控件授權(quán)數(shù)據(jù),將許可數(shù)據(jù)作為資源嵌入使用已授權(quán)組件的應(yīng)用程序的程序集中。LicFileLicenseProvider 類可以由 Windows 窗體控件使用,但它不滿足本文中 ASP.NET 服務(wù)器控件授權(quán)要求一節(jié)描述的 ASP.NET 服務(wù)器控件授權(quán)要求。</p><p>以上是“ASP.NET服務(wù)器控件授權(quán)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!</p>            
            
                        <br>
            網(wǎng)站欄目:ASP.NET服務(wù)器控件授權(quán)的示例分析            <br>
            文章來源:<a href="http://weahome.cn/article/gghicd.html">http://weahome.cn/article/gghicd.html</a>
        </div>
    </div>
</div>
<div   id="squ6kqw"   class="other container">
    <h3>其他資訊</h3>
    <ul>
        <li>
                <a href="/article/popdse.html">http代理應(yīng)該具有什么優(yōu)勢</a>
            </li><li>
                <a href="/article/popdoc.html">java泛型的局限是什么</a>
            </li><li>
                <a href="/article/popded.html">redhat重啟系統(tǒng)出錯anerroroccurredduringthefilesystemcheck怎么辦</a>
            </li><li>
                <a href="/article/popohc.html">?如何加強(qiáng)memcache安全防護(hù)措施</a>
            </li><li>
                <a href="/article/popdds.html">Android——使用LruCache緩存圖片</a>
            </li>    </ul>
</div>
<div   id="squ6kqw"   class="footer">
    <div   id="squ6kqw"   class="foota container">
        <div   id="squ6kqw"   class="foot_nav fl col-lg-8 col-md-8 col-sm-12 col-xs-12">
            <ul>
                <li id="squ6kqw"    class="col-lg-3 col-md-3 col-sm-3 col-xs-6">
                    <h3>網(wǎng)站制作</h3>
                    <a  target="_blank">重慶網(wǎng)站制作</a><a  target="_blank">鹽亭網(wǎng)站制作公司</a><a  target="_blank">成都網(wǎng)站制作</a><a  target="_blank">網(wǎng)站制作</a><a  target="_blank">移動手機(jī)網(wǎng)站制作</a><a  target="_blank">廣安網(wǎng)站制作公司</a>                </li>
                <li id="squ6kqw"    class="col-lg-3 col-md-3 col-sm-3 col-xs-6">
                    <h3>企業(yè)服務(wù)</h3>
                    <a  target="_blank">商標(biāo)注冊</a><a  target="_blank">軟文發(fā)稿</a><a  target="_blank">網(wǎng)站收錄</a><a  target="_blank">軟文發(fā)布</a><a  target="_blank">互聯(lián)網(wǎng)藥品信息服務(wù)資格證</a><a  target="_blank">軟文營銷</a>                </li>
                <li id="squ6kqw"    class="col-lg-3 col-md-3 col-sm-3 col-xs-6">
                    <h3>網(wǎng)站建設(shè)</h3>
                    <a  target="_blank">溫江網(wǎng)站建設(shè)</a><a  target="_blank">品牌網(wǎng)站建設(shè)公司</a><a  target="_blank">商城網(wǎng)站建設(shè)公司</a><a  target="_blank">高端網(wǎng)站建設(shè)</a><a  target="_blank">重慶企業(yè)網(wǎng)站建設(shè)</a><a  target="_blank">溫江網(wǎng)站建設(shè)</a>                </li>
                <li id="squ6kqw"    class="col-lg-3 col-md-3 col-sm-3 col-xs-6">
                    <h3>服務(wù)器托管</h3>
                    <a  target="_blank">重慶聯(lián)通機(jī)房托管</a><a  target="_blank">重慶水土三線托管</a><a  target="_blank">重慶電信五里店機(jī)房托管</a><a  target="_blank">成都機(jī)柜租用</a><a  target="_blank">溫江服務(wù)器托管</a><a  target="_blank">綿陽機(jī)房托管</a>                </li>
            </ul>
        </div>
        <div   id="squ6kqw"   class="footar fl col-lg-4 col-md-4 col-sm-12 col-xs-12">
            <p>全國免費(fèi)咨詢:</p>
            <b>400-028-6601</b>
            <p>業(yè)務(wù)咨詢:028-86922220 / 13518219792</p>
            <p>節(jié)假值班:18980820575 / 13518219792</p>
            <p>聯(lián)系地址:成都市太升南路288號錦天國際A幢1002號</p>
        </div>
    </div>
    <div   id="squ6kqw"   class="footb">
        <div   id="squ6kqw"   class="copy container">
            <div   id="squ6kqw"   class="fl">Copyright ? 成都創(chuàng)新互聯(lián)科技有限公司重慶分公司  <a  target="_blank">渝ICP備2021005571號</a></div>
            <!--<div   id="squ6kqw"   class="fr"><a  target="_blank">成都網(wǎng)站建設(shè)</a>:<a  target="_blank">創(chuàng)新互聯(lián)</a></div>-->
        </div>
    </div>
    <div   id="squ6kqw"   class="link">
        <div   id="squ6kqw"   class="container">
            友情鏈接::
            <a  target="_blank">成都網(wǎng)站建設(shè)</a>
            <a  target="_blank">重慶網(wǎng)站建設(shè)</a>
            <a href="">四川網(wǎng)站建設(shè)</a>
            <a href="">重慶建設(shè)網(wǎng)站</a>
            <a  target="_blank">移動服務(wù)器托管</a>
            <a  target="_blank">成都服務(wù)器托管</a>
            <a  target="_blank">云服務(wù)器</a>
            <a  target="_blank">廣告設(shè)計(jì)制作</a>
            <a  target="_blank">重慶網(wǎng)頁設(shè)計(jì)</a>
            <a  target="_blank">重慶做網(wǎng)站</a>
            <a  target="_blank">重慶網(wǎng)站制作</a>
            <a href="">重慶網(wǎng)站建設(shè)</a>
            <a href="">重慶網(wǎng)站公司</a>
            <a href="">渝中網(wǎng)站制作</a>
            <a href="">重慶網(wǎng)站設(shè)計(jì)</a>
        </div>
    </div>
</div>
<div   id="squ6kqw"   class="foot">
    <ul class="public-celan">
        <li>
            <a  target="_blank" class="a1 db tc">
                <img src="/Public/Home/img/icon-23.png" alt="" class="db auto">
                <span id="squ6kqw"    class="span-txt">在線咨詢</span>
            </a>
        </li>
        <li>
            <a href="tel:18980820575" class="a1 db tc">
                <img src="/Public/Home/img/icon-24.png" alt="" class="db auto">
                <span id="squ6kqw"    class="span-txt">電話咨詢</span>
            </a>
        </li>
        <li>
            <a target="_blank" href="tencent://message/?uin=1683211881&Site=&Menu=yes" class="a1 db tc">
                <img src="/Public/Home/img/icon-25.png" alt="" class="db auto">
                <span id="squ6kqw"    class="span-txt">QQ咨詢</span>
            </a>
        </li>
        <li>
            <a target="_blank" href="tencent://message/?uin=532337155&Site=&Menu=yes" class="a1 db tc public-yuyue-up">
                <img src="/Public/Home/img/icon-26.png" alt="" class="db auto">
                <span id="squ6kqw"    class="span-txt">預(yù)約顧問</span>
            </a>
        </li>
    </ul>
</div>
<div   id="squ6kqw"   class="customer">
    <dl class="icon1">
        <dt>
            <a href="tencent://message/?uin=1683211881&Site=&Menu=yes">
                <i class="iconT"><img src="/Public/Home/img/QQ.png" alt=""></i>
                <p>在線咨詢</p>
            </a>
        </dt>
    </dl>
    <dl class="icon2">
        <dt><i><img src="/Public/Home/img/weixin.png" alt=""></i><p>微信咨詢</p></dt>
        <dd><img src="/Public/Home/img/ewm.png"></dd>
    </dl>
    <dl class="icon3">
        <dt><i><img src="/Public/Home/img/dianhua.png" alt=""></i><p>電話咨詢</p></dt>
        <dd>
            <p>028-86922220(工作日)</p>
            <p>18980820575(7×24)</p>
        </dd>
    </dl>
    <dl class="icon4">
        <dt class="sShow">
            <a href="tencent://message/?uin=244261566&Site=&Menu=yes">
                <i><img src="/Public/Home/img/dengji.png" alt=""></i><p>提交需求</p>
            </a>
        </dt>
    </dl>
    <dl class="icon5">
        <dt class="gotop">
            <a href="#top">
                <i><img src="/Public/Home/img/top.png" alt=""></i><p>返回頂部</p>
            </a>
        </dt>
    </dl>
</div>

<footer>
<div class="friendship-link">
<p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p>
<a href="http://weahome.cn/" title="真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆">真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆</a>

<div class="friend-links">


</div>
</div>

</footer>


<script>
(function(){
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
    }
    else {
        bp.src = 'http://push.zhanzhang.baidu.com/push.js';
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>
</body><div id="7jjlh" class="pl_css_ganrao" style="display: none;"><tt id="7jjlh"><progress id="7jjlh"><acronym id="7jjlh"><legend id="7jjlh"></legend></acronym></progress></tt><dl id="7jjlh"><pre id="7jjlh"></pre></dl><em id="7jjlh"><span id="7jjlh"></span></em><sup id="7jjlh"><style id="7jjlh"><nobr id="7jjlh"><small id="7jjlh"></small></nobr></style></sup><sup id="7jjlh"><nobr id="7jjlh"></nobr></sup><track id="7jjlh"><tt id="7jjlh"><mark id="7jjlh"><form id="7jjlh"></form></mark></tt></track><ol id="7jjlh"></ol><var id="7jjlh"><form id="7jjlh"><rp id="7jjlh"><font id="7jjlh"></font></rp></form></var><optgroup id="7jjlh"><sub id="7jjlh"><label id="7jjlh"><dl id="7jjlh"></dl></label></sub></optgroup><big id="7jjlh"></big><pre id="7jjlh"><b id="7jjlh"><strike id="7jjlh"><address id="7jjlh"></address></strike></b></pre><ol id="7jjlh"><style id="7jjlh"></style></ol><var id="7jjlh"><rp id="7jjlh"><dl id="7jjlh"><meter id="7jjlh"></meter></dl></rp></var><ol id="7jjlh"><video id="7jjlh"><acronym id="7jjlh"><meter id="7jjlh"></meter></acronym></video></ol><font id="7jjlh"><ol id="7jjlh"><b id="7jjlh"><nobr id="7jjlh"></nobr></b></ol></font><mark id="7jjlh"><legend id="7jjlh"><track id="7jjlh"><label id="7jjlh"></label></track></legend></mark><rp id="7jjlh"><font id="7jjlh"></font></rp><ins id="7jjlh"></ins><ol id="7jjlh"><style id="7jjlh"></style></ol><strong id="7jjlh"></strong><listing id="7jjlh"><dfn id="7jjlh"></dfn></listing><label id="7jjlh"></label><b id="7jjlh"><mark id="7jjlh"></mark></b><track id="7jjlh"></track><b id="7jjlh"><address id="7jjlh"><strong id="7jjlh"><sup id="7jjlh"></sup></strong></address></b><em id="7jjlh"></em><optgroup id="7jjlh"></optgroup><var id="7jjlh"><rp id="7jjlh"><dl id="7jjlh"><div id="7jjlh"></div></dl></rp></var><rp id="7jjlh"></rp><pre id="7jjlh"><track id="7jjlh"></track></pre><font id="7jjlh"><ol id="7jjlh"><b id="7jjlh"><nobr id="7jjlh"></nobr></b></ol></font><progress id="7jjlh"><p id="7jjlh"><ruby id="7jjlh"><form id="7jjlh"></form></ruby></p></progress><rp id="7jjlh"><div id="7jjlh"></div></rp><small id="7jjlh"><menuitem id="7jjlh"></menuitem></small><meter id="7jjlh"><strike id="7jjlh"><rp id="7jjlh"><optgroup id="7jjlh"></optgroup></rp></strike></meter><ol id="7jjlh"></ol><b id="7jjlh"></b><listing id="7jjlh"><dfn id="7jjlh"></dfn></listing><legend id="7jjlh"><b id="7jjlh"><strike id="7jjlh"><form id="7jjlh"></form></strike></b></legend><tt id="7jjlh"></tt><pre id="7jjlh"><th id="7jjlh"></th></pre><acronym id="7jjlh"><pre id="7jjlh"></pre></acronym><span id="7jjlh"></span><i id="7jjlh"><listing id="7jjlh"><dfn id="7jjlh"><output id="7jjlh"></output></dfn></listing></i><meter id="7jjlh"><style id="7jjlh"><mark id="7jjlh"><small id="7jjlh"></small></mark></style></meter><sub id="7jjlh"></sub><rp id="7jjlh"><font id="7jjlh"></font></rp><label id="7jjlh"></label><output id="7jjlh"></output><strong id="7jjlh"><strong id="7jjlh"><ruby id="7jjlh"><thead id="7jjlh"></thead></ruby></strong></strong></div>
</html>
<script>
    $(".con img").each(function(){
        var src = $(this).attr("src");    //獲取圖片地址
        var str=new RegExp("http");
        var result=str.test(src);
        if(result==false){
            var url = "https://www.cdcxhl.com"+src;    //絕對路徑
            $(this).attr("src",url);
        }
    });
    window.onload=function(){
        document.oncontextmenu=function(){
            return false;
        }
    }
</script>