प्रौद्योगिकी साझेदारी

अपाचे एंटी-लीचिंग, जाल पृष्ठ संपीडन, जाल पृष्ठ संग्रहण

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

सामग्रीसूची

जालपृष्ठसंपीडनम्

प्रकारः

उदाहरण

गतिशीलरूपेण मॉड्यूलसञ्चालनचरणं योजयन्तु

अपाचे पुनः संस्थापयितुं चरणाः

जालसञ्चयम्

उदाहरण

सोपानम्

संस्करणसूचना गोपयन्तु

सोपानम्

अपाचे एंटी-लीचिंग

परिभाषा

सिद्धान्तः

हॉटलिङ्कविरोधी प्रयोगात्मकवातावरणं विन्यस्यताम्

प्रयोगशाला वातावरण

स्थानीयप्रतिबिम्बहॉटलिङ्किङ्गस्य उदाहरणम्

सोपानम्

हॉटलिङ्कविरोधी उदाहरणम्

सोपानम्


जालपृष्ठसंपीडनम्

वेबसाइट् इत्यस्य अभिगमनवेगः बहुभिः कारकैः निर्धारितः भवति, यथा अनुप्रयोगस्य प्रतिक्रियावेगः, संजालस्य बैण्डविड्थः, सर्वरस्य कार्यक्षमता, ग्राहकेन सह संजालसंचरणवेगः इत्यादयः एकं महत्त्वपूर्णं कारकं अपाचे इत्यस्य एव प्रतिक्रियाशीलता अस्ति । भवान् स्वस्य अनुप्रयोगस्य गतिं वर्धयितुं जालसंपीडनस्य उपयोगं कर्तुं शक्नोति । अतः महत्त्वपूर्णं यत्, अस्य मूल्यं सर्वथा किमपि नास्ति तथा च सर्वर CPU उपयोगं केवलं किञ्चित् एकं वा द्वौ वा प्रतिशताङ्कं वा न्यूनं वा वर्धयिष्यति ।

प्रकारः

  • gzip
    • उच्चसंपीडनदक्षता, उच्च CPU उपयोगः
  • विस्फुरणं कुर्वन्ति
    • संपीडनदक्षता gzip इव अधिका नास्ति, अपि च इदं न्यूनं CPU उपभोगयति ।

उदाहरण

deflate मॉड्यूलस्य माध्यमेन जालपृष्ठसंपीडनम्

यदि भवान् पूर्वमेव स्रोतसङ्केतसङ्कुलद्वारा अपाचे संस्थापितवान्, यदि भवान् अद्यापि स्रोतसङ्केतसङ्कुलं धारयति तर्हि पुनः विन्यस्तं, संकलनं, संस्थापनं च कर्तुं शक्नोति अपाचे पुनः संस्थापनेन पूर्वमापदण्डाः प्रभाविताः न भविष्यन्ति ।

अथवा यदि भवान् अन्तिमसंस्थापनकाले मॉड्यूल्स् गतिशीलरूपेण लोड् करणस्य कार्यं विन्यस्तवान् तर्हि पुनः संस्थापनं विना मॉड्यूल्स् गतिशीलरूपेण योजयितुं apxs उपकरणानां उपयोगं कर्तुं शक्नोति ।

गतिशीलरूपेण मॉड्यूलसञ्चालनचरणं योजयन्तु

अपाचे पुनः संस्थाप्य विना deflate मॉड्यूल् गतिशीलरूपेण योजयन्तु

cd इत्येतत् Apache HTTP सर्वरं प्रति फ़िल्टरैः सम्बद्धं मॉड्यूल् कोडं संग्रहीतुं

संचालनार्थं apxs tool इत्यस्य उपयोगं कुर्वन्तु

  • -i: मॉड्यूलं संस्थापयन्तु। संकलितं मॉड्यूल् अपाचे सर्वरे संस्थापयन्तु ।
  • -c: संकलन मॉड्यूल। स्रोतसङ्केतसञ्चिकां (अत्र mod_deflate.c) साझावस्तुसञ्चिकायां (.so सञ्चिका) संकलयन्तु ।
  • -a: स्वयमेव मॉड्यूल् सक्रियं कुर्वन्तु। मॉड्यूलस्य संकलनं संस्थापनं च कृत्वा तत्क्षणमेव सक्षमं कुर्वन्तु, विन्याससञ्चिकां स्वहस्तेन सम्पादयितुं आवश्यकता नास्ति ।

अन्ते, deflate मॉड्यूल् सफलतया लोड् कृतम् अस्ति वा इति परीक्षितुं pipes तथा grep इत्यनेन सह apachectl आदेशस्य उपयोगं कुर्वन्तु ।

  1. [root@localhost filters]# cd /root/httpd-2.4.25/modules/filters/
  2. [root@localhost filters]# apxs -i -c -a mod_deflate.c
  3. [root@localhost filters]# apachectl -t -D DUMP_MODULES | grep deflate
  4. deflate_module (shared)

httpd विन्याससञ्चिकायां mod_deflate मॉड्यूल् सक्षमं कुर्वन्तु

  1. [root@localhost filters]# vim /usr/local/httpd/conf/httpd.conf
  2. 在末行模式下搜索:/deflate
  3. LoadModule deflate_module modules/mod_deflate.so # 去掉开头注释
  4. <IfModule mod_deflate.c>
  5. # 对指定的类型应用deflat进行压缩(文本、样式表、图像)
  6. AddOutputFilterByType DEFLATE text/html text/css text/jpg text/png text/gif
  7. DeflateCompressionLevel 9 # 指定了压缩级别为9,表示最高级别的压缩(压缩比最高,但消耗CPU资源较多)
  8. SetOutputFilter DEFLATE # 指定默认的输出过滤器为deflate进行输出内容的压缩
  9. </IfModule>

अपाचे पुनः संस्थापयितुं चरणाः

प्रत्यक्षतया अपाचे पुनः संस्थाप्य deflate मॉड्यूल् योजयन्तु

प्रथमं प्रयोगं कुर्वन्तु apachectl -t -D डम्प_मॉड्यूल | grep deflate इतिApache इत्यत्र सम्प्रति deflate module अस्ति वा इति परीक्षितुं आदेशः

यदि अपाचे सक्षमम् अस्ति तर्हि उपयोगं कुर्वन्तुsystemctl stop httpdसेवां बन्दं कुर्वन्तु

स्रोतसङ्केतसंकुलविसंपीडननिर्देशिकां प्रविशन्तु, संस्थापननिर्देशिकां निर्दिशन्तु, तथा च केचन कार्याणि सक्षमं कुर्वन्तु deflate मॉड्यूलस्य उपयोगः जालपृष्ठसंपीडनाय भवति ।

./विन्यस्तं कुर्वन्तुप्रसंस्करणानन्तरं प्रयोगःmake && make installसंकलनं संस्थापनं च कर्तुं आदेशः

  1. [root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-deflate
  2. [root@localhost httpd-2.4.25]# make && make install

deflate मॉड्यूल् सक्षमम् अस्ति वा इति परीक्षितुं ll आदेशस्य उपयोगं कुर्वन्तु ।

  1. [root@localhost httpd-2.4.25]# ll /usr/local/httpd/modules/mod_deflate.so
  2. -rwxr-xr-x 1 root root 53096 7月 10 20:43 /usr/local/httpd/modules/mod_deflate.so

परन्तु प्रयोगः apachectl -t -D डम्प_मॉड्यूल | grep deflate इतिआदेशः पृच्छितुं न शक्यते यतः सः अपाचे विन्याससञ्चिकायां सक्षमः नास्ति ।

httpd इत्यस्य मुख्यविन्याससञ्चिकां सम्पादयन्तु प्रायः १४३ पङ्क्तौ भवन्तः द्रष्टुं शक्नुवन्ति यत् बहवः सन्तिLoadModule इतिstatements, वयं एतेषां LoadModules इत्यस्य अधः नूतनानि module loading statements योजयिष्यामः ।

मॉड्यूल लोडिंग् स्टेट्मेण्ट् इत्यस्य द्वितीयभागे, भवान् निरपेक्षमार्गस्य अथवा सापेक्षिकमार्गस्य उपयोगं कर्तुं शक्नोति यतः अपाचे संस्थापनकाले उपसर्ग (उपसर्ग) नियमः ./configure स्क्रिप्ट् इत्यस्य माध्यमेन परिभाषितः भवति, अतः भवान् एकं निश्चितं in निर्दिष्टं कर्तुम् इच्छति the Apache configuration file.सञ्चिकायाः ​​मार्गः, उपसर्गमार्गः परित्यक्तुं शक्यते

IfModule टैगस्य उपयोगः सशर्तरूपेण मॉड्यूलविन्यासस्य लोड् कर्तुं भवति तस्य कार्यं वर्तमान अपाचे वातावरणे निर्दिष्टं मॉड्यूल् लोड् भवति वा इति जाँचयितुं भवति यदा मॉड्यूल् लोड् भवति तदा एव IfModule टैग् मध्ये लपेटिताः विन्यासनिर्देशाः प्रभावी भविष्यन्ति ।

  1. [root@localhost httpd-2.4.25]# vim /usr/local/httpd/conf/httpd.conf
  2. LoadModule deflate_module modules/mod_deflate.so
  3. <IfModule mod_deflate.c> # 只有当 mod_deflate 模块加载时才会执行下面的配置
  4. DeflateCompressionLevel 6 # 压缩级别,数字越大压缩比就越大
  5. SetOutputFilter DEFLATE # 启用deflate模块
  6. # 告诉服务器对哪些文件进行压缩,如果是已经压缩过的,就不再压缩
  7. AddOutputFilterByType DEFLATE text/html text/plain text/xml text/csstext/javascript application/x-javascript application/javascript application/json
  8. SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
  9. SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
  10. SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
  11. AddOutputFilterByType DEFLATE text/*
  12. AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript
  13. AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp
  14. </IfModule>

रक्षन्तु निर्गन्तुं च, भवन्तः उपयोक्तुं शक्नुवन्तिhttpd -tविन्याससञ्चिकायां वाक्यविन्यासदोषाः सन्ति वा इति ज्ञातुं यदि एतत् Syntax OK इति प्रार्थयति तर्हि दोषाः नास्ति इति अर्थः ।

यतः httpd इत्यनेन नवीनं योजितं विन्यासं प्रभावी कर्तुं परिवर्तितां विन्याससञ्चिकां पुनः लोड् कर्तव्यं, सेवां पुनः आरभत ।

अस्मिन् समये ब्राउजर् मध्ये जालसर्वरं प्राप्य विकासकसाधनं उद्घाटयितुं कीबोर्ड् मध्ये F12 नुदन्तु, जालसर्वरस्य IP-सङ्केतं चिन्वन्तु, ततः प्रतिक्रियाशीर्षके द्रष्टुं शक्नुवन्ति यत् संपीडनप्रौद्योगिकी gzip अस्ति

प्रयोगः समाप्तः भवति


जालसञ्चयम्

जालपुटस्य संग्रहणं केषाञ्चन पृष्ठानां संग्रहणं भवति ये प्रायः दुर्लभाः न परिवर्तन्ते वा परिवर्तन्ते वा अग्रिमे समये ब्राउजर् पुनः एतानि पृष्ठानि अभिगच्छति तदा पुनः एतानि पृष्ठानि अवतरणं कर्तुं आवश्यकता नास्ति, अतः उपयोक्तुः अभिगमनवेगः सुदृढः भवति अपाचे इत्यस्य mod_expires मॉड्यूल् स्वयमेव पृष्ठशीर्षकसूचनायां Expires टैग् तथा Cache-Control टैगं जनयिष्यति टैग्स् इत्यस्य आधारेण, क्लायन्ट् ब्राउजर् अग्रिम-भ्रमणार्थं स्थानीय-यन्त्रस्य कैश-मध्ये पृष्ठं प्राप्तुं निर्णयं करोति, तदर्थं अन्यं अनुरोधं विना the server अनावश्यक यातायातस्य न्यूनीकरणस्य अभिगमस्य गतिं च वर्धयितुं उद्देश्यं प्राप्तुं क्लायन्ट्-प्रवेशानां आवृत्तिं संख्यां च न्यूनीकरोतु ।

उदाहरण

जालपुटस्य संग्रहणं कार्यान्वितं कुर्वन्तु

सोपानम्

httpd मुख्यविन्याससञ्चिकां उद्घाट्य, expires मॉड्यूल् सक्षमं कृत्वा योजयन्तु, सेवां पुनः आरभत ।

  1. [root@localhost httpd-2.4.25]# vim /usr/local/httpd/conf/httpd.conf
  2. 在末行模式搜索:/expires_module
  3. 将前面的注释去掉,开启expires模块
  4. LoadModule expires_module modules/mod_expires.so
  5. <IfModule mod_expires.c>
  6. ExpiresActive On # 开启缓存功能
  7. ExpiresDefault "access plus 60 seconds" # 缓存时间设置为60秒
  8. </IfModule>
  9. 检测语法正确性,重启服务
  10. [root@localhost httpd-2.4.25]# httpd -t
  11. Syntax OK
  12. [root@localhost httpd-2.4.25]# systemctl restart httpd

सेवां पुनः आरभ्य जालसर्वरं प्राप्तुं ब्राउजर् प्रति गच्छन्तु, ततः प्रतिक्रियाशीर्षके सूचनापङ्क्तयः अपि सन्ति इति द्रष्टुं शक्नुवन्ति ।


संस्करणसूचना गोपयन्तु

सॉफ्टवेयरस्य दुर्बलतासूचना विशिष्टसंस्करणेन सह सम्बद्धा अस्ति, अतः संस्करणसङ्ख्या आक्रमणकारिणां कृते अतीव उपयोगी भवति, ब्राउजर् मध्ये विकासकसाधनेषु, प्रतिक्रियाशीर्षके सर्वरवस्तुमध्ये Apache इत्यस्य संस्करणसूचना द्रष्टुं शक्नुवन्ति

यदि कश्चन संजाल-आक्रमणकारी अपाचे-संस्करणस्य सूचनां प्राप्नोति तर्हि सः लक्षित-आक्रमणानि करिष्यति, जालपुटे च हानिम् अकुर्वत् । अतः वास्तविकनिर्माणवातावरणे आक्रमणानां जोखिमं न्यूनीकर्तुं अपाचे इत्यस्य संस्करणसङ्ख्या गोपनीया ।

सोपानम्

  1. [root@localhost httpd-2.4.25]# vim /usr/local/httpd/conf/httpd.conf
  2. 在末行模式下搜索:/httpd-default
  3. 将Include语句前的注释去掉,表示包含Include语句后面指定的文件在当前文件中(相当于把指定文件的内容复制粘贴到当前文件的当前Include语句的位置)
  4. # Various default settings
  5. Include conf/extra/httpd-default.conf

रक्षित्वा निर्गन्तुं, httpd.default सञ्चिकां उद्घाटयन्तु

  1. [root@localhost httpd-2.4.25]# vim /usr/local/httpd/conf/extra/httpd-default.conf
  2. 在第55行就可以设置隐藏版本信息,这里改为Prod
  3. ServerTokens Prod

विकल्पाः टिप्पण्यां प्रदत्ताः इति भवन्तः द्रष्टुं शक्नुवन्ति: एकं सेट् कुर्वन्तु: पूर्ण | ओएस | नाबालिग | न्यूनतम | प्रमुख | प्रोड

विकल्पाः

दृष्टान्तरूपेण दर्शयतु

सर्वरटोकन पूर्ण

सर्वाधिकविस्तृतं सर्वरसूचनाः प्रत्यागच्छति, यत्र ऑपरेटिंग् सिस्टम् प्रकारः संकलितमॉड्यूल् सूची च सन्ति ।

यथा : अपाचे/2.4.41 (Unix) OpenSSL/1.1.1d PHP/7.3.11

सर्वरटोकन्स ओएस

केवलं प्रचालनतन्त्रप्रकारः एव प्रत्यागच्छति ।

यथा - अपाचे/२.४.४१ (Unix)

ServerTokens लघु

प्रमुखं लघु च संस्करणसङ्ख्यां प्रत्यागच्छति ।

यथा - अपाचे/२.४

ServerTokens न्यूनतमम्

प्रमुखं संस्करणसङ्ख्यां प्रत्यागच्छति ।

यथा - अपाचे/२

ServerTokens प्रमुख

केवलं प्रमुखसंस्करणसङ्ख्या एव प्रत्यागच्छति ।

यथा - अपाचे/२

ServerTokens Prod

न्यूनतमसूचनाः प्रत्यागच्छति, केवलं अपाचे दर्शयति, संस्करणसङ्ख्यां परित्यजति ।

यथा - अपाचे

रक्षित्वा निर्गन्तुं, सेवां पुनः आरभत।जालसर्वरं अभिगच्छन्तु

भवन्तः द्रष्टुं शक्नुवन्ति यत् संस्करणसूचना केवलं एकं अपाचे दर्शयति


अपाचे एंटी-लीचिंग

अपाचे हॉटलिङ्किंग् एकः रक्षणपरिपाटः अस्ति यः अन्येषां वेबसाइट्-स्थानानां अथवा अनधिकृत-तृतीय-पक्षस्य प्रत्यक्षतया भवतः वेबसाइट्-मध्ये चित्र-विडियो-श्रव्य-अथवा अन्य-संसाधन-सम्बद्धं कर्तुं निवारयति

यदा कश्चन जालपुटः भवतः साइट् तः प्रत्यक्षतया संसाधनानाम् उपयोगं करोति तदा ते वास्तवतः भवतः बैण्डविड्थ् तथा सर्वर संसाधनानाम् उपभोगं कुर्वन्ति, सम्भवतः भवतः अनुमतिं विना ।

परिभाषा

  • एण्टी-हॉटलिङ्किंग् इति बाह्यजालस्थलानां अथवा अनधिकृततृतीयपक्षस्य सर्वरविन्यासद्वारा भवतः वेबसाइट् मध्ये संसाधनलिङ्कानां प्रत्यक्षप्रयोगं निषिद्धं भवति यदि कोऽपि भवतः संसाधनलिङ्कं प्रत्यक्षतया स्वपृष्ठे उपयोक्तुं प्रयतते तर्हि आगन्तुकाः तस्मिन् पृष्ठे एकं समस्यां पश्यन्ति यत्र संसाधनं लोड् कर्तुं न शक्यते, अथवा वैकल्पिकसामग्री दृश्यते

सिद्धान्तः

  • HTTP Referer check: सर्वरः HTTP अनुरोधस्य Referer शीर्षकस्य जाँचं कृत्वा संसाधन-अनुरोधस्य स्रोतः निर्धारयति । यदि ज्ञायते यत् सन्दर्भकः भवता अनुमतस्य स्रोतः (यथा भवतः स्वकीयः जालपुटः) नास्ति, तर्हि सर्वरः संसाधनं प्रदातुं वा वैकल्पिकसामग्रीम् प्रत्यागन्तुं वा नकारयितुं शक्नोति ।
  • पुनर्लेखननियमाः: अनुरोधानाम् पुनर्लेखनार्थं, Referer शीर्षकं परीक्षितुं, ततः सेटिङ्ग्स् आधारेण संसाधनं प्रदातुं वा अनुरोधं अङ्गीकुर्वितुं वा निर्णयं कुर्वन्तु

हॉटलिङ्कविरोधी प्रयोगात्मकवातावरणं विन्यस्यताम्

CPU नाम

डोमेन नाम

IP पता

प्रचालन प्रणाली

मुख्यं सॉफ्टवेयरं संस्करणं च

अपाचे१

www.e1.com इति

192.168.10.101

CentOS7.9 इति इति

httpd-2.4.25.tar.gz

अपाचे२

www.e2.com इति

192.168.10.201

CentOS7.9 इति इति

httpd-2.4.25.tar.gz अथवा yum संस्थापनम्

ग्राहिका

विण्डोज १०

ब्राउज़र

प्रयोगशाला वातावरण

प्रथमं सर्वरं प्रत्यक्षतया क्लोन कुर्वन्तु अथवा httpd संस्थापयितुं yum -y इत्यस्य उपयोगं कुर्वन्तु httpd संस्थापयन्तु, तथा च IP-सङ्केतं 192.168.10.102 इति परिवर्तयन्तु

द्वयोः सर्वरयोः होस्ट्-नामानि परिवर्तयन्तु

  1. 101主机
  2. [root@localhost ~]# hostname apache1
  3. [root@localhost ~]# bash
  4. [root@apache1 ~]#
  5. 201主机
  6. [root@localhost ~]# hostname apache2
  7. [root@localhost ~]# bash
  8. [root@apache2 ~]#

द्वयोः जालसर्वरयोः होस्ट्स् सञ्चिकाः परिवर्तयन्तु येन ते तत्सम्बद्धानां डोमेन्-नामानां समाधानं कर्तुं शक्नुवन्ति ।

201 होस्ट् परिवर्तयितुं अधोलिखितानि एव पदानि अनुसृत्य कार्यं कुर्वन्तु

  1. [root@apache1 ~]# vim /etc/hosts
  2. 在hosts文件末尾追加
  3. 192.168.10.101 www.e1.com
  4. 192.168.10.201 www.e2.com

Win10 क्लायन्ट् होस्ट् इत्यस्य hosts सञ्चिकायाः ​​कृते C:WindowsSystem32driversetc इत्यस्य अधः, Notepad इत्यनेन उद्घाटयितुं hosts सञ्चिकां द्विवारं क्लिक् कुर्वन्तु ।

द्वयोः जालसर्वरयोः अग्निप्रावरणं तथा कर्नेल् सुरक्षातन्त्रं निष्क्रियं कुर्वन्तु, httpd सेवां सक्षमं कुर्वन्तु, अपि च द्रष्टुं प्रयतन्ते यत् भवान् क्लायन्ट् होस्ट् इत्यत्र जालसर्वरद्वयं प्राप्तुं शक्नोति वा इति ।

  1. 在两个Web服务器操作
  2. [root@apache1 ~]# systemctl start httpd
  3. [root@apache1 ~]# setenforce 0

स्थानीयप्रतिबिम्बहॉटलिङ्किङ्गस्य उदाहरणम्

101 host मम साइट् अस्ति तथा च मया 201 host web server इत्यत्र चित्राणि चोरितव्यानि।

अर्थात् www.e1.com www.e2.com इत्यस्य इमेज लिङ्कं चोरयति

सोपानम्

२०१ मेजबानं प्रति आगच्छन्तु

यत्र httpd जालपुटसञ्चिकाः संगृह्णाति तत्र निर्देशिकां प्रविश्य, चित्रं कर्षयन्तु, index.html सञ्चिकां सम्पादयन्तु च ।

  1. [root@apache2 ~]# cd /usr/local/httpd/htdocs/
  2. 在该目录下从宿主机拖入一张图片
  3. [root@apache2 htdocs]# vim index.html
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <title>标题</title>
  8. </head>
  9. <body>
  10. <h1>原图网站</h1>
  11. <img src="logo.jpg" /> # 如果图片文件是在网页文件同一目录下,可以不用加路径
  12. </body>
  13. </html>

रक्षन्तु निर्गन्तुं च अस्मिन् समये ब्राउजर् इत्यस्य उपयोगेन होस्ट् मशीन् इत्यत्र www.e2.com इति सञ्चिकां द्रष्टुं शक्नुवन्ति तथा च जालपुटे चित्राणि सन्ति इति द्रष्टुं शक्नुवन्ति ।

यदि भवान् अन्येभ्यः जालपुटेभ्यः चित्राणि चोरयितुम् इच्छति तर्हि ब्राउजर् मध्ये चित्रं राइट्-क्लिक् कृत्वा Copy Image Link इति चिनोतु ।

१०१ होस्ट् इत्यत्र आगच्छन्तु

101Web server इत्यस्य मुखपृष्ठे चित्रस्य लिङ्कं योजयन्तु

  1. [root@apache1 ~]# cd /var/www/html # 使用yum安装httpd的存放网页文件的目录
  2. [root@apache1 html]# vim index.html
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>标题</title>
  7. </head>
  8. <body>
  9. <h1>盗图网站</h1>
  10. <img src="http://www.e2.com/logo.jpg" />
  11. </body>
  12. </html>

रक्षित्वा निर्गन्तुं, क्लायन्ट् Win10 होस्ट् प्रति गत्वा www.e1.com तथा www.e2.com इति URLद्वयं पश्यन्तु

विकासकसाधनं उद्घाटयितुं F12 इत्यस्य उपयोगं कुर्वन्तु भवान् संजाले द्रष्टुं शक्नोति यत् www.e2.com इत्यस्य अनुरोधस्य URL तथा चित्रलिङ्काः www.e2.com इत्यस्य स्वकीयाः सन्ति।

www.e1.com इत्यस्य अनुरोधस्य URL www.e1.com अस्ति, परन्तु चित्रानुरोधः www.e2.com होस्ट् + इमेज लिङ्क् इत्यस्य IP अस्ति

एतावता सरलं स्थानीयं इमेज हॉटलिन्किंग् कार्यान्वितम् अस्ति ।

हॉटलिङ्कविरोधी उदाहरणम्

यदि अन्यः होस्ट् २०१ होस्ट् इत्यस्य इमेज लिङ्क् चोरयति तर्हि अन्यः पक्षः यत् इमेज् चोरयितुम् इच्छति तस्य स्थाने केवलं नियतं इमेज् प्रदर्शितं भविष्यति ।

सोपानम्

201 होस्ट् (www.e2.com) इत्यस्य htdocs निर्देशिकायां अन्यं चित्रं (error.jpg) आयातयन्तु यत् एंटी-लीचिंग् प्रयोगानां कृते मूलप्रतिबिम्बं प्रदाति ।

ततः httpd इत्यस्य विन्याससञ्चिकां सम्पादयित्वा पुनर्लेखनमॉड्यूलं सक्षमं कुर्वन्तु (पतेः पुनर्लेखनम्) पुनर्लेखनस्य उद्देश्यं यत् यदि कोऽपि मम logo.jpg इत्यस्य अनुरोधं करोति तर्हि अनुरोधं error.jpg इत्यत्र पुनः निर्दिशति ।

पतापुनर्लेखनकार्यं कृत्वा अनुरोधस्य समीक्षां कृत्वा न्यायः कर्तुं शक्यते यदि अनुरोधस्य उपसर्गः www.e2.com इत्यनेन भवति तर्हि अभिगमनस्य अनुमतिः भविष्यति यदि अनुरोधस्य उपसर्गः www.e2.com नास्ति न अनुमन्यताम्।

  1. [root@apache2 htdocs]# vim /usr/local/httpd/conf/httpd.conf
  2. 在末行模式下搜索:/rewrite
  3. LoadModule rewrite_module modules/mod_rewrite.so # 将开头注释去掉,启用rewrite模块
  4. 在末行模式下搜索:/htdocs
  5. 在<Directory "/usr/local/httpd/htdocs">标签内往下翻
  6. 找到AllowOverride参数的行,修改内容为下方内容
  7. AllowOverride None
  8. RewriteEngine On
  9. RewriteCond %{HTTP_REFERER} !^http://e2.com$ [NC]
  10. RewriteCond %{HTTP_REFERER} !^http://e2.com/.*$ [NC]
  11. RewriteCond %{HTTP_REFERER} !^http://www.e2.com$ [NC]
  12. RewriteCond %{HTTP_REFERER} !^http://www.e2.com/.*$ [NC]
  13. RewriteRule .*.(gif|jpg|swf)$ http://www.e2.com/error.png

पैरामीटर्

दृष्टान्तरूपेण दर्शयतु

AllowOverride ALL इति

.htaccess सञ्चिकासु RewriteEngine इत्यादीन् पुनर्लेखननियमान् अनुमन्यताम् ।

ALL: .htaccess सञ्चिकायां नियमैः सर्वप्रकारस्य पुनर्लेखननिर्देशान् अधिलिखितुं अनुमतिं ददाति ।

कोऽपि नास्ति: सर्वरविन्यासस्य अधिलिखनाय अस्मिन् निर्देशिकायां .htaccess सञ्चिकानां उपयोगं अङ्गीकुर्वति

RewriteEngine चालू

पुनर्लेखनं सक्षमं कुर्वन्तु, पुनर्लेखननियमान् सक्षमीकरणाय एतत् प्रथमं सोपानम् अस्ति

RewriteCond

पुनर्लेखनशर्ताः परिभाषयन्तु

%{HTTP_REFERER} 1.1.

इदं अपाचे इत्यस्य अन्तःनिर्मितं चरः अस्ति यदा उपयोक्ता अभिगन्तुं शक्नोति तदा अनुरोधसन्देशस्य शीर्षकसूचनायां URL प्राप्तुं शक्नोति ।

अनुरोधे Referer मूल्यस्य मेलनं कुर्वन्तु

!^http://www.e2.com/.*$

URL इत्यस्य अधः कोऽपि सञ्चिका (.*: एकेन वा बहुभिः वा कस्यापि वर्णस्य मेलनं करोति)

http://www.e2.com/ इत्यनेन आरभ्य कस्यापि एकेन वा बहुभिः वर्णैः समाप्तं स्ट्रिंग् न मेलति इति सूचयति

[एन.सी.] २.

छाननं केस-संवेदनशीलं नास्ति

पुनर्लेखननियम

पुनर्लेखननियमाः परिभाषयन्तु

.*.(gif|jpg|swf)$ http://www.e2.com/त्रुटि.png

यदा पूर्वपुनर्लेखनस्थितिः मेलति, यदि अनुरोधितं URL .gif, .jpg अथवा .swf इत्यनेन समाप्तं भवति

ततः अनुरोधः http://www.e2.com/error.png इत्यत्र पुनः निर्दिश्यते

.*: कस्यापि वर्णस्य कस्यापि संख्यायाः मेलनं करोति

.: पलायनवर्णेन पलायितः बिन्दुः, अत्र सरलबिन्दुस्य अर्थः

रक्षित्वा निर्गन्तुं, सेवां पुनः आरभत।

अन्ते वयं ब्राउजर् द्वारा इमेज् कैश न भवति इति परीक्षणार्थं क्लायन्ट् होस्ट् (Win10) प्रति आगताः, अतः ब्राउजर् कैशं स्वच्छं कर्तुं Ctrl + Shift + Delete शॉर्टकट् कीलानां उपयोगं कुर्वन्तु ।

ततः www.e2.com इति सञ्चिकां पश्यन्तु सर्वं सम्यक् कार्यं करोति

www.e1.com इत्यत्र गच्छन्ते सति चोरितं चित्रलिङ्कं पुनर्निर्देशितं error.png चित्रं भवति ।