abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 00:22 | Komunita

V Norimberku probíhá do pátku ownCloud conference 2018, tj. konference vývojářů a uživatelů open source systému ownCloud (Wikipedie) umožňujícího provoz vlastního cloudového úložiště. Přednášky lze sledovat online. Videozáznamy jsou k dispozici na YouTube. Při této příležitosti byl vydán ownCloud Server 10.0.10. Z novinek lze zdůraznit podporu PHP 7.2. Vydán byl také ownCloud Desktop Client 2.5.0. Vyzkoušet lze online demo ownCloudu.

Ladislav Hagara | Komentářů: 0
dnes 00:11 | Pozvánky

Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.

xkucf03 | Komentářů: 0
včera 16:11 | Komunita

Vývojáři relačního databázového systému PostgreSQL oznámili, že schválili svůj Code of Conduct (CoC) aneb kodex chování vývojářů PostgreSQL.

Ladislav Hagara | Komentářů: 14
včera 14:44 | Nová verze

Byla vydána verze 1.0 poštovního serveru Courier (Wikipedie). Aktualizovány byly také související balíčky jako Courier authentication library, Courier-IMAP, SqWebMail, maildrop nebo Cone.

Ladislav Hagara | Komentářů: 0
včera 02:22 | Zajímavý software

Společnost ​Versity Software otevřela svůj archivační souborový systém ScoutFS. Zdrojové kódy jsou k dispozici na GitHubu (kernel space, user space) pod licencí GPLv2.

Ladislav Hagara | Komentářů: 21
včera 00:44 | Nová verze

Byla vydána verze 4.2 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu. Ke stažení jsou oficiální binární balíčky pro Ubuntu 18.04, Ubuntu 16.04 a Ubuntu 14.04. Přehled novinek ve videozáznamu přednášky z WWDC 2018.

Ladislav Hagara | Komentářů: 3
17.9. 17:55 | Nová verze

Po třech a půl letech od vydání verze 3.4.1 byla vydána nová verze 3.4.2 programu pro filtrování spamu Apache SpamAssassin (Wikipedie). Z novinek lze zmínit 4 nové pluginy. Pravidla budou ověřována pomocí SHA-256 a SHA-512 místo SHA-1. Řešeny jsou také 4 bezpečnostní chyby. Například chyba CVE-2018-11780 v pluginu PDFInfo zneužitelná ke vzdálenému spuštění kódů (RCE).

Ladislav Hagara | Komentářů: 0
17.9. 16:22 | Pozvánky

Díky openSUSE Video Teamu lze sledovat živý přenos většiny prezentací z letošní SUSE Labs Conference. Záznamy proběhlých prezentací budou postupně přidávány na kanál SUSE Labs na YouTube.

Michal Kubeček | Komentářů: 0
17.9. 10:22 | Pozvánky

Na webových stránkách konference LinuxDays byl zveřejněn program přednášek a workshopů. Současně byla spuštěna registrace. Konference proběhne o víkendu 6. a 7. října 2018 v Praze v areálu ČVUT v Dejvicích na Fakultě informačních technologií.

Ladislav Hagara | Komentářů: 0
17.9. 02:22 | Komunita

Linus Torvalds se v oznámení o vydání 4. rc verze Linuxu 4.19 omlouvá za své chování. Posledním commitem před zvýšením rc3 na rc4 bylo odstranění souboru s Code of Conflict a přidání souboru s Contributor Covenant Code of Conduct vycházejícího z Contributor Covenant. Vývoj Linuxu 4.19 dokončí Greg Kroah-Hartman. Linus Torvalds si bere volno a bude pracovat na svém chování. Pravděpodobně vylepší svého poštovního klienta, aby mu nedovolil odesílat emaily obsahující nadávky.

Ladislav Hagara | Komentářů: 51
Na optické médium (CD, DVD, BD aj.) jsem naposledy vypaloval(a) data před méně než
 (13%)
 (15%)
 (21%)
 (23%)
 (24%)
 (4%)
 (1%)
Celkem 356 hlasů
 Komentářů: 33, poslední 16.9. 11:55
Rozcestník

Privoxy - 2 (pozměňování obsahu)

4. 6. 2007 | Jiří Poláček | Sítě | 8439×

Druhý nášup informací o Privoxy se zaměřuje na samotný obsah webových stránek načítaných do našeho prohlížeče – pokud se nám cokoliv znelíbí nejenom na stránce samotné, ale též v hlavičkách protokolu HTTP, tak si to prostě změníme. Podívejme se, jak na to.

Pozměňování obsahu stránek na základě sady definovaných pravidel

Toto je silná zbraň Privoxy, kterou ovšem pořádně využijí jen ti, kterým nejsou cizí regulární výrazy. Do souborů s filtry lze zapsat klasické nahrazovací příkazy typu s/najdi/nahraď/, sdružovat je do skupin jakožto pojmenované filtry a následně aplikovat na obsah vybraných stránek v souboru s akcemi. Vše nejlépe osvětlí příklady – autoři Privoxy nabízí například následující primitivní filtr k odstranění značek HTML pro blikající a jezdící text:

FILTER: html-annoyances
s-</?(blink|marquee).*>--sigU

V souboru s akcemi jej nyní můžeme použít:

{+filter{html-annoyances}}
/

Začátek filtru je indikován klíčovým slovem FILTER na začátku řádku, za dvojtečkou následuje název filtru, na který se potom lze odvolávat v souboru s akcemi (zapisuje se do složených závorek za volání akce filter). Lomítko jako vzorek vyhovuje všem doménám, filtr z příkladu se tedy bude aplikovat na veškerý načítaný webový obsah.

Jak již příklad ukazuje, oddělovacím znakem v nahrazovacím příkazu může být i jiný znak než lomítko (kterých je v HTML požehnaně), za posledním oddělovacím znakem mohou následovat modifikátory s následujícím významem:

  • i – nerozlišovat velikost písmen.
  • s – uchopení celého obsahu webové stránky jako jednořádkového řetězce.
  • g – nahrazení všech výskytů vyhovujících vzorku.
  • U – vypnutí hledání nejdelší shody vzorku v řetězci (ungreedy matching).
  • T – zamezení vyhodnocování zpětných odkazů (backreferences) v substitucích.

Více se s regulárními výrazy můžete seznámit například na českém webu www.regularnivyrazy.info.

Jiný příklad – další jednoduchý filtr nabízený tvůrci Privoxy - mění veškerý výskyt slova Microsoft na MicroSuck:

FILTER: fun
s/microsoft(?!.com)/MicroSuck/ig

I takovýto filtr by se dal aplikovat na širokou škálu webových stránek. Autoři Privoxy nám však nabízejí mnohem více mnohem užitečnějších filtrů, z nichž ty nejzajímavější má smysl zmínit:

  • js-annoyances – zamezení obtíží s javascriptem typu pevná velikost vyskakovacího okna, skrývání cíle odkazů ve stavové liště apod.
  • refresh-tags – zamezení automatickému obnovování stránky.
  • banners-by-size – odhalování reklamních obrázků na základě typických velikostí obrázků.
  • tiny-textforms – zvětšení příliš malých textových polí na stránce.
  • jumping-windows – zamezení oknům samovolně měnit velikost a přesouvat se.
  • quicktime-kioskmode – dovolí ukládat videa ve formátu Quicktime.

Nejlepší na pozměňování obsahu stránek však je možnost napsat si filtr vlastní. Osobně například používám takovýto filtr pro automatické přihlašování se k některým webovým službám:

FILTER: prihlaseni
s/name="username" *value=""/name="username" value="muj_login"/
s/name="password"/name="password" value="moje_heslo"/
s%</body>%<script type="text/javascript">document.forms\[0\].submit();</script></body>%i

Kromě toho, že do patřičných formulářových polí doplní jméno a heslo, navíc na konec stránky přidá skript pro automatické odeslání formuláře. Výborné je, že toto automatické přihlašování funguje i na stránkách, kde si kontrolují „referery“.

Ostatní akce proxy-serveru

Akce block a filter se zajisté uplatní nejvíce, Privoxy však použitelných akcí nabízí mnohem více. Většinu z nich popisuje následující přehled, který jsem pro lepší přehlednost seskupil do několika celků. Akce označené hvězdičkou jsou dostupné až od verze Privoxy 3.0.5.

Nakládání s hlavičkami http

add-header{název: hodnota}
Přidává specifikovanou hlavičku, aniž by byla kontrolována její správnost.
crunch-client-header{řetězec}, crunch-server-header{řetězec} *
Smaže každou hlavičku zasílanou klientem či serverem, která obsahuje specifikovaný řetězec.
force-text-mode *
V případě chybějící hlavičky „Content-Type“ nastaví typ obsahu na čistý text.
hide-accept-language{jazyk} *

Nahradí hlavičku preferovaných jazyků klienta na specifikovaný jazyk; pokud se uvede klíčové slůvko block, bude hlavička smazána. Znám uživatele, kteří si v prohlížeči nastavují preferovaný jazyk na angličtinu jen proto, aby jim Google nevyhledával na českých stránkách – následující dva řádky v Privoxy to elegantně pořeší:

{+hide-accept-language{en,cs}}
.google.cz
hide-referer{block|forge|http://nejaka.adresa.cz}
Modifikuje hlavičku udávající, ze které stránky přichází uživatelův požadavek; hodnota block ji zcela smaže, forge nastaví jméno dotazované serveru, jiný řetězec se zašle tak, jak byl specifikován.
hide-user-agent{typ-prohlížeče}
Změní identitu prohlížeče na daný řetězec; lze se tak maskovat vůči vybraným serverům, typicky internetovému bankovnictví. Alternativně – při serverovém nasazení Privoxy – můžeme zvyšovat podíl svého oblíbeného prohlížeče v návštěvnostech stránek, ať si uživatelé našeho proxy-serveru používají, co chtějí ;-).

Nakládání s obrázky

handle-as-image
Definovaná URL budou chápána jako obrázek – využívá se ve spojitosti s blokováním obrázku, aby se místo webové stránky informující o blokování zobrazilo to, co definuje akce set-image-blocker, obvykle neutrální obrázek.
set-image-blocker{blank|pattern|URL}
Specifikuje, co se má zobrazit namísto obrázků blokovaných sekvencí příkazů {+block +handle-as-image}; hodnota blank zašle průhledný obrázek velikosti 1×1; pattern vyústí v šedobílou šachovnici; jiný řetězec specifikuje adresu, odkud se má načítat náhradní obrázek.
inspect-jpegs *
Prohledává hlavičky obrázků ve formátu JPEG pro chybné komentářové bloky a opravuje je.
deanimate-gifs{first|last}
Redukuje animované obrázky ve formátu GIF na první či poslední snímek.

Správa cookies

prevent-keeping-cookies, session-cookies-only
Zajistí smazání cookies v případě restartu webového prohlížeče, čímž se stanou cookies určené pro ukládání profilů uživatelů bezpředmětné, nebrání to však přihlašování se k běžným webovým službám.
crunch-outgoing-cookies, crunch-incoming-cookies
Zabraňuje webovému serveru ve čtení/zapisování cookies.
send-wafer{název=hodnota}
umožňuje přidat libovolnou cookie
send-vanilla-wafer
Zasílá webovým serverům, od nichž je některá cookie zadržena ve „vězení“ (tj. uložena v souboru specifikovaném volbou jarfile), speciální cookie se sdělením „nepřijímám cookies, které mi zasíláte, a rád bych, abyste mě přestali sledovat“.

Nejrůznější vychytávky

filter-client-headers, filter-server-headers *
Ve výchozím nastavení se filtry uplatňují pouze na obsah načítané stránky, tyto akce rozšiřují platnost filtrů také na hlavičky zasílané klientem či serverem.
prevent-compression
Zabraňuje webovému serveru zasílat data komprimovaná, neboť na taková nelze uplatnit některé filtry.
redirect{adresa} *

Přesvědčí prohlížeč, že požadovaný dokument se nachází na specifikované adrese a že by si jej měl načíst odtud. Pokud se nám například znelíbí logo jednoho vyhledávače, můžeme si pomoci následovně:

{+redirect{http://www.tucniak.sk/images/tucniak.gif}}
www.google.cz/intl/en_com/images/logo_plain.png

Vyhledávač Google s pozměněným logem a preferencí anglického jazyka

fast-redirects{check-decoded-url|simple-check}
Formátuje odkazy na stránce na poslední platnou adresu – hodí se pro servery, které veškeré odkazy konstruují přes přesměrovávací skripty; tj. například z adresy http://nejaka­.domena/skrip­t?cil=http://ci­lova.domena „vyzobne“ http://cilova­.domena.
handle-as-empty-document *
Uplatní se u blokovaných stránek, když se namísto webové stránky s informací o blokování zašle prázdný dokument. Hodí se pro blokování souborů, které nejsou ani webovou stránkou ani obrázkem, tj. například javascripty v externích souborech, styly apod.

V souvislosti s pozměňováním obsahu je dobré také znát jednu volbu ze základního konfiguračního souboru – buffer-limit. Definuje maximální velikost paměti (v kilobajtech) pro filtrování obsahu, výchozí velikost je 4 MB. Pokud načítaný dokument přesáhne tuto velikost, další filtrování se již na zbytku dokumentu neprovádí.

Příště

V závěrečném díle povídání o Privoxy bude představeno webové rozhraní a vysvětleno řízení přístupu na základě IP adres.

       

Hodnocení: 100 %

        špatnédobré        

Nástroje: Tisk bez diskuse

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.