Technology sharing

Apache anti-leeching, pagina compressionis interretialis, pagina caching

2024-07-12

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

Tabula contentorum

Compressio interretialis

type

Exemplum

Dynamically addere moduli operandi gradus

Ad restituo Apache

web cache

Exemplum

Vestigia

Celare versionem informationes

Vestigia

Apache anti-leeching

definition

principium

Configurare anti-hotlink experimentum environment

lab environment

Exemplum imaginis localis hotlinking

Vestigia

Anti-hotlink exemplum

Vestigia


Compressio interretialis

Accessus velocitatis interiectio pluribus factoribus determinatur, inclusa responsionis celeritas applicationis, band latitudo retis, effectus servo, celeritas retis transmissio cum cliente, etc. Una praecipuorum momenta ipsa Apache est alacritas. Compressione interreti uti potes ut celeritas applicationis tuae augeatur. Potius, nihil omnino constat ac leviter tantum auget usus servo CPU uno vel duobus punctis recipis vel minus.

type

  • gzip
    • Princeps pressio efficientiae, alta CPU usus
  • deflate
    • Compressio efficientiae gzip non tam alta est, et minus CPU consumit.

Exemplum

Compressio paginae interretialis per deflate moduli

Si Apache iam inauguratus es per involucrum fons Codicis, si adhuc retines sarcinam codicis, reconfigure, compilare et instituere potes.

Vel si functionem modulorum dynamice loading per ultimam institutionem conformasti, uti potes apxs instrumentis ad dynamice modulos addere sine reinstalling.

Dynamically addere moduli operandi gradus

Dynamically deflate moduli addere sine Apache reinstalling

CD ad Apache HTTP servo ut reponunt moduli codice ad Filtra

Utere apxs instrumentum ad agunt

  • -i: modulum instrue. Compositum moduli in Apache servo install.
  • -c: Compile moduli. Compilare fontem codicis fasciculi (hic mod_deflate.c) in obiectum commune fasciculi (.so lima).
  • -a: Automatarie modulus eu. Post modulum componendo et instituendo, statim id efficies, non necesse est limam configurationem manualem emendare.

Denique utere imperio apachectl cum tibiis et grep ad reprimendam num moduli deflate feliciter oneratur.

  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)

Admitte mod_deflate moduli in httpd configuratione file

  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>

Ad restituo Apache

Deflate moduli addere directe per Apache reinstalling

utere primo apachectl -t -D DUMP_MODULES | grep deflateMandatum ut reprehendo si Apache currently habet deflate moduli

Si Apache possit, uteresystemctl subsisto httpdProxima religio

Intrant source code sarcina decompression presul, institutionem specificare, et aliqua functiones da.

./configurePost dispensando, uterefac && faciunt installMandatum ordinare et 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

Utere iussione ad reprimendam num modulus deflate possit.

  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

Sed utere apachectl -t -D DUMP_MODULES | grep deflateMandatum queri non potest quia in configurationis Apache fasciculi non datur.

Edere principale fasciculum configurationis httpd. Circa lineam 143, videre potes multos esseLoadModuleenunciationes, modulos novos loading infra haec LoadModules propositiones addemus.

In secunda parte moduli onerationis enuntiationis, uti potes absolutam vel relativam viam. Apache lima configuration. Semita ad tabella, praeposita semita omitti potest

The IfModule tag used to conditionally load module configuration.

  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>

Salvum et exitum, uti poteshttpd t *Ad deprehendere num errores syntaxis in file configurationis sint. Si Syntaxis OK suadet, significat errores non esse.

Quia httpd necesse est ut file configurationem mutatam reload ut nuper additae figurae effectum sortiatur, servitium sileo.

Hoc tempore, accedere interretialem in navigatro, urge F12 in claviaturae ut instrumenta electronica aperiat, IP inscriptio interretialis elige, et videre potes in capite responsionis compressionem technologiam gzip

Experimentum terminos


web cache

Pagina interretiendi est ad nonnullas paginas quae saepe non mutantur aut mutantur raro. Proximo tempore navigatoris accessiones harum paginarum iterum denuo examinare non opus est, ita celeritas accessi usoris meliori. Modus Apache mod_expires sponte generabit Expiratus tag et Cache-Control tag in paginae indicis innititur. Servo.

Exemplum

Implementum paginae caching

Vestigia

Aperi fasciculum httpd principale conformationis, da exspirat modulum et adde, et sileo servitium.

  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

Postquam servitium sileo, vade ad navigatrum ut accedere interretialem server, et videre potes duas lineas notitiarum in capite responsionis esse.


Celare versionem informationes

Informatio vulnerabilitas programmatis ad certam versionem refertur, ideo numerus versionis valde utilis est ad oppugnatores.

Si invasor retis notitias Apache versionis obtinet, oppugnationes iaculis exercebit et damna in situ feret. In ipsa igitur ambitu productionis, versio numerus Apache occultus est ad periculum oppugnationum reducendum.

Vestigia

  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

Salvum et exitum, httpd.default file aperi

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

Videre potes optiones in commentationibus praeberi: Set to one of: Full | OS | Minor | Minimal | Major | Prod

Optiones

illustrare

ServerTokens plena

Refert accuratissimas informationes servo, inter operandi genus et moduli indicem compilavit.

Exempli gratia: Apache/2.4.41 (Unix) OpenSSL/1.1.1d PHP/7.3.11

ServerTokens OS

Solum genus systematis operandi redditur.

Exempli gratia: Apache/2.4.41 (Unix)

ServerTokens Minor

Redit versio maior et minor numeros.

Exempli gratia: Apache/2.4

ServerTokens Minimal

Maior numerus version refert.

Exempli gratia: Apache/2

ServerTokens Major

Maior tantum numerus versionis redditur.

Exempli gratia: Apache/2

ServerTokens Prod

Minima redit notitia, ostendens tantum Apache, omisso numero versionis.

Exempli gratia: Apache

Serva et exite, sileo servitium.Accessus telam server

Potes videre quod notitia versionis unam tantum Apache ostendit


Apache anti-leeching

Apache hotlinking mensura tutelae est quae impedit alias paginas vel tertias partes non legitimis a se coniunctis cum imaginibus, videos, audios, vel alias facultates in situ tuo.

Cum a website opibus directe ex situ tuo utitur, actualiter laxitatem tuam et facultates ministrantes consumunt, fortasse sine licentia tua.

definition

  • Anti-hotlinking refers to prohibens externas paginas vel tertias partes alienum a protinus utens nexus resource in pagina tua per configurationem servo. Si quis in pagina sua directe nexum tuum uti conatur, visitatores videbunt bilem in illa pagina ubi res non onerari potest, aut etiam contentus apparebit.

principium

  • HTTP Relator perscriptio: Servus fontem determinat petitionis subsidii in HTTP in petitione Relatoris annotando. Si deprehensum est Relator non ex fonte permittitis (ut tuo loco), server recusare potest subsidii praebere vel alterius contenti reddere.
  • Praecepta rescribe: Rescribe praecepta Apache utere petitiones rescribere, REFERRE caput reprehendo, ac deinde diiudicare utrum facultates praebere an petitionem in uncinis reiecerit.

Configurare anti-hotlink experimentum environment

CPU nomen

Domain nomen

Disputatio

sistema operatum

Praecipua software et versiones

apache1

www.e1.com

192.168.10.101

CentOS7.9

httpd-2.4.25.tar.gz

apache2

www.e2.com

192.168.10.201

CentOS7.9

httpd-2.4.25.tar.gz vel yum installation

clientis

Windows 10

Pasco

lab environment

Clone prima server directe vel uti yum -y httpd inaugurare httpd, et mutare locum IP ad 192.168.10.102

Hostia nomina duorum servers mutare

  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 ~]#

Exercituum scrinia duorum servientium interretialium temperare ut debita nomina domain resolvere possint.

Sequere eosdem gradus infra ad mutare exercitum 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

Exercituum lima exercitus clientium Win10, sub C:WindowsSystem32driversetc, duplices click exercitus lima ut cum Nota aperiat.

Averte firewall et securitatis nucleus duorum servientium telae mechanismum, servitutem httpd efficias, et experire vide si potes duos ministros telae in cliente hospitio accedere.

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

Exemplum imaginis localis hotlinking

101 Hospes meus situs est et picturas in 201 hospes web servo furari debeo.

Hoc est, www.e1.com nexum imaginis subrepit www.e2.com

Vestigia

Ad CCI hospes

Intrant indicem ubi paginarum paginarum httpd recondit, in imagine extraho et indicem.html lima edit.

  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>

Salvum et exire. In hoc tempore, navigatro utere ad visitandum www.e2.com in machina exercitus et videre potes picturas in pagina interreti esse.

Imagines ex aliis websites furari si vis, nexum imaginis debes.

Ad CI Hostiam

Addere vinculum ad imaginem in pagina protocollum 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>

Salvum et exitum, ad clientem Win10 exercitum, et visita duo URLs www.e1.com et www.e2.com

F12 utere ut instrumenta electronica aperiat. Potes videre in retiacula quae URL petitionem et nexus imaginum www.e2.com www.e2.com propria sunt.

Petitio URL www.e1.com est www.e1.com, sed imago postulatio IP exercitus www.e2.com est + pagina imaginis

Hactenus, simplex imago localis hotlinking ad effectum deducta est.

Anti-hotlink exemplum

Si hospes alius subripuerit nexum imaginis CCI hospitis, solum fixa imago ostendetur loco imaginis altera pars subripere vult.

Vestigia

Aliam imaginem (error.jpg) in htdocs indicis 201 hospitii (www.e2.com) importare, quae experimentis anti-leeching imaginem originalem praebet.

Deinde lima configurationem httpd emenda et moduli rescripturi (inscriptio rescribendi). Propositum rescribere est ut si quis meum logo.jpg postulaverit, petitionem ad error.jpg redigat.

Cum inscriptione rescriptionis functionis, petitio recenseri potest et iudicari. Si petitio praefixa est per www.e2.com, aditus permittetur non licere.

  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

modulus

illustrare

All AllowOverride

Patitur RewriteEngine et alia praecepta RESCRIBO in .htaccess patuit.

OMNES: Permittit omnia genera normarum auctarum ut per regulas in tabella .htaccess opprimantur.

Nulla: improbat usum .htaccess lima in hoc indice ut servo configuratione delendi

RewriteEngine ad

Admitte rescribere, hic primus gradus est ut regulas rescribas

RewriteCond

Define RESCRIBO conditionibus

%{HTTP_REFERER}

In variabilis Apache aedificatum est. Haec variabilis domicilium habere potest in indice informationis petitionis nuntius cum accessibus usoris.

Referer par valorem in petitionem

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

Quaelibet lima sub domicilio (.*: una vel multiplex ullis characteribus aequet)

Indicat filum incipiens cum http://www.e2.com/ non aequare et desinere cum singulis characteribus vel pluribus.

[NC]

Filtering non est causa sensitivo

RewriteRule

Define praecepta RESCRIBO

.*.(gif|jpg|swf)$ http://www.e2.com/error.png

Cum condicionem priorem rescribe congruit, si URL petitum desinit cum .gif, .jpg vel .swf

Inde petitio ad http://www.e2.com/error.png . redirecta erit

. *: Aequet aliquem numerum aliquem characters

dot.: effugium characteris effugii, hic significatio simplex dot

Serva et exite, sileo servitium.

Denique ad clientem exercitum venimus (Win10) temptare imaginem conditivo a navigatro vitare, ita uti Ctrl + Amoveo + Delete breves claves ad purgandum cella.

Tunc visita www.e2.com et omnia bene opera

Cum visitans www.e1.com, nexus imaginis ablatae redirected error.png imago fit.