{"id":18482878,"url":"https://github.com/spaze/webtop100","last_synced_at":"2026-01-24T19:50:31.250Z","repository":{"id":34413834,"uuid":"38344896","full_name":"spaze/webtop100","owner":"spaze","description":"Dokumenty k hodnocení soutěže WebTop100","archived":false,"fork":false,"pushed_at":"2018-07-17T12:24:36.000Z","size":14,"stargazers_count":15,"open_issues_count":0,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-16T21:31:09.553Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spaze.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-01T02:33:35.000Z","updated_at":"2023-01-07T12:22:31.000Z","dependencies_parsed_at":"2022-09-15T07:03:24.678Z","dependency_job_id":null,"html_url":"https://github.com/spaze/webtop100","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/spaze/webtop100","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spaze%2Fwebtop100","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spaze%2Fwebtop100/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spaze%2Fwebtop100/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spaze%2Fwebtop100/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spaze","download_url":"https://codeload.github.com/spaze/webtop100/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spaze%2Fwebtop100/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28735371,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T19:23:36.361Z","status":"ssl_error","status_checked_at":"2026-01-24T19:23:28.966Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T12:31:36.484Z","updated_at":"2026-01-24T19:50:31.228Z","avatar_url":"https://github.com/spaze.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"Hodnocení technického řešení\n============================\n\nHodnocené weby se posuzují individuálně. Tento seznam je pouze základ a je tedy možné do hodnocení konkrétních webů přidat některá další kritéria a je potom na garantovi, aby s porotcem probral jejich váhu. Příkladem může být mobilní verze webu, na kterém se ihned po načtení začne načítat 20 MB video. Takové pravidlo v tomto seznamu není, ale dává smysl jej v hodnocení zohlednit.\n\nKritické problémy\n-----------------\n***0 bodů***\n\nWeb dostává 0 bodů, pokud obsahuje alespoň jeden z uvedených problémů. Při nalezení je potřeba zvážit jejich závažnost. Pokud bude na dvou stránkách ze sta stejný titulek, tak není důvod o webu tvrdit, že má kritické problémy. To samé se týká tabulkového layoutu a značek `FONT` v kódu.\n\nPokud web obsahuje uvedenou technickou chybu, která by mohla vést k nějakému bezpečnostnímu problému, tak nezáleží na kolika místech a kde se vyskytuje. Neprovádíme bezpečnostní test, nehledáme bezpečnostní chyby, nebereme v potaz dopad těchto chyb, neurčujeme jejich závažnost. Weby *nehackujeme*, ani nezkoušíme, jakou zátěž servery vydrží. Hledáme *pouze* technické chyby, tedy například místa, kde vývojáři zapomněli při výpisu nahradit `\u003c` za `\u0026lt;` nebo kde zobrazují neošetřené chybové hlášky programovacího jazyka. Pro hledání takových chyb nepoužíváme žádné automatizované skenovací nástroje. Použití jednoúčelových nástrojů pro zrychlení práce není vyloučeno.\n\n- zobrazení neošetřené chybové hlášky obsahující důležité systémové informace (*Full Path Disclosure*)\n- neošetřené uživatelem zadané znaky `\u003c`, `\u003e`, `\"`, `'` při výpisu (může vést k útoku *Cross-Site Scripting*)\n- špatně ošetřený uživatelský vstup při odesílání dotazů do databáze (riziko útoku *SQL Injection*)\n- Vložení místního nebo vzdáleného souboru (*Local File Inclusion*, *Remote File Inclusion*)\n- výstup z funkce `phpinfo()` (`/info.php`, `/phpinfo.php`, apod.)\n- *Black hat* SEO\n- *Not Found* stránka přesměrována na titulní stránku\n- všechny stránky mají stejný `TITLE`\n- tabulkový layout\n- tagy `FONT` v kódu\n- web přesměrovává na HTTPS, ale má certifikáty podepsané nedůvěryhodnou CA nebo neposílá *intermediate* certifikáty\n- přítomnost skriptu, přes který se dá posílat spam\n- heslo zaslané e-mailem, při registraci nebo zapomenutí\n- přihlašování přes HTTP (týká se uživatelů i příp. administračních rozhraní na \"předvídatelných\" adresách `/admin` a dalších)\n- možnost ze serveru získat zdrojové kódy nebo informace o nich (např. ze souboru `/.git/HEAD`, z výpisu adresářů apod.)\n- použití JavaScriptových knihoven [se známými zranitelnostmi](https://developers.google.com/web/tools/lighthouse/audits/vulnerabilities)\n- web běží na volně dostupném redakčním systému (Wordpress aj. včetně doplňků) se známými zranitelnostmi\n\nProstor pro zlepšení\n--------------------\n***1 bod***\n\nWeb dostává 1 bod, pokud neobsahuje nic z předchozího, ale obsahuje alespoň jeden z následujících problémů:\n\n- *Not Found* stránka neposílá HTTP stavový kód 404\n- všechny *Not Found* stránky jsou nepoužitelné (standardní stránky poskytované serverem)\n- nehezké URL\n- lze odeslat nevyplněné formuláře s vypnutým JS\n- WebPagetest Speed Index 9000 a více (pro první i další načtení)\n- chybějící, nenačtené obrázky na stránce\n\nBez velkých chyb a nedostatků\n-----------------------------\n***2 body***\n\nWeb dostává 2 body, pokud neobsahuje nic z předchozího, ale obsahuje alespoň jeden z následujících problémů:\n\n- chybějící soubor `robots.txt`\n- nefunkční web bez `www` prefixu\n- session cookie bez příznaku HttpOnly (jiné cookie mohou být bez tohoto příznaku)\n- 2 nebo méně bezpečnostních hlaviček¹\n- WebPagetest Speed Index 6000-8999 (pro první i další načtení)\n- stránky jsou dostupné pomocí HTTP, prohlížeč není přesměrován na HTTPS\n- některé *Not Found* nebo *Forbidden* (HTTP kódy 4xx) jsou standardní stránky poskytované serverem\n\nVýborné řešení\n--------------\n***3 body***\n\nWeb dostává 3 body, pokud neobsahuje nic z předchozího, ale chybí mu něco z kategorie [Skvěle a inspirativně řešeno](#skvěle-a-inspirativně-řešeno).\n\nSkvěle a inspirativně řešeno\n----------------------------\n***4 body***\n\nWeb dostává 4 body, pokud neobsahuje nic z předchozího a má navíc všechna následující vylepšení:\n\n- responzivní design (ne speciální mobilní verze)\n- 4 nebo více bezpečnostních hlaviček¹\n- WebPagetest Speed Index 0-2999 (pro první i další načtení)\n- *Potential Compressed Weight* z [Website Speed Testu](https://webspeedtest.cloudinary.com/) nad 50 %\n\n-----\n¹Bezpečnostními hlavičkami jsou myšleny následující HTTP hlavičky, testují se pomocí [securityheaders.com](https://securityheaders.com):\n- `X-Frame-Options`\n- `X-Content-Type-Options`\n- `Content-Security-Policy`\n- `Strict-Transport-Security`\n- `X-XSS-Protection`\n- `Referrer-Policy`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspaze%2Fwebtop100","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspaze%2Fwebtop100","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspaze%2Fwebtop100/lists"}