passwords/index.html
2022-01-03 19:34:53 +01:00

231 lines
6.0 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Hesla</title>
<link rel="stylesheet" href="/reveal.js/dist/reveal.css">
<link rel="stylesheet" href="/reveal.js/dist/theme/black.css">
<style>
.dimbg .backgrounds {
-webkit-filter: blur(3px) saturate(.5) brightness(.6);
-moz-filter: blur(3px) saturate(.7) brightness(.6);
-o-filter: blur(3px) saturate(.7) brightness(.6);
-ms-filter: blur(3px) saturate(.7) brightness(.6);
filter: blur(3px) saturate(.7) brightness(.6);
}
.glič {
vertical-align: middle;
height: 64px;
}
section > section {
margin-top: 2rem;
}
</style>
<script src="assets/js/patek-logo-custom-element/patek-logo.js"></script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-state="startHAXX" style="text-align: left;">
<label for="input" class="control-label">Zadejte nové heslo:</label><br/>
<input style="width: calc(100% - 0.2em);font-size: 2em;padding: 0.1em" type="text" id="input" placeholder="Heslo" autofocus="true">
</section>
<section data-state="stopHAXX">
<h1>Hesla</h1>
<div style="font-size: 2rem; color: #93a1a1; display: inline-flex; align-items: center;"><div><p>Jan Černohorský</p><p>Šimon Jan Šustek</p></div><div style="width: 1px; background-color: #93a1a1; height: 5em; margin: 1em;"></div><patek-logo title="Talks" subtitle="Pátek"></patek-logo></div>
</section>
<section>
<h2>
Co jsou to hesla?
</h2>
<section>
<p class="fragment">Způsob, jak může aplikace ověřit, že jste to vy.</p>
</section>
<section>
<img src="assets/images/google-login.png" height=500 alt="Screenshot of Google login dialogue">
<img src="assets/images/facebook-login.png" height=500 alt="Screenshot of Facebook login dialogue">
</section>
</section>
<section>
<h2>
Proč jsou důležitá?
</h2>
<section>
<p class="fragment">Jedná se o klíče k celému vašemu (onlinovému) životu.</p>
</section>
<section>
<h3>S vaším heslem můžu:</h3>
<p class="fragment">podívat se na vaše kontaky, <span class="fragment">fotky</span></p>
<p class="fragment">vymazat všechna data ve vašem telefonu</p>
</section>
<section>
<h3>S vaším heslem můžu být vy.</h3>
</section>
</section>
<section>
<h2>
Znám vaše heslo
</h2>
</section>
<section>
<h2>
Ale jak?
</h2>
</section>
<section>
<h2>
Hesla <i>jsou předvídatelná</i>
</h2>
</section>
<section>
<h2>
Hesla <i>unikají stránkám</i>
</h2>
</section>
<section>
<h2>
Hesla <i>unikají vám</i>
</h2>
</section>
<section>
<h2>
<p>Hesla <i>jsou na h<img src="/assets/gifs/glič1.gif" alt="glič" class="glič"><img src="/assets/gifs/glič1.gif" alt="glič" class="glič">o</i>,</p>
<p> ale co s tím? </p>
</h2>
</section>
<section>
<h2>
Co můžu dělat?
</h2>
</section>
<section>
<h2>
<i>Unikátnost</i>
</h2>
</section>
<section>
<h2>
<i>Nepředvídatelnost</i>
</h2>
</section>
<section>
<h2>
<i>Délka</i>
</h2>
</section>
<section>
<h2>
No to je super, ale kdo si to má pamatovat?
</h2>
<h1>Password Managers!!!</h1>
</section>
<section>
<h2>
A kde se to dá sehnat?
</h2>
</section>
<section>
<h2>
Do Password Manageru máte jedno silné heslo, které si pamatujete. V Password Manageru máte všechna ostatní hesla, která si nepamatujete.
</h2>
</section>
<section>
<h2>
Nojo, ale kde to jedno silné heslo seženu?
</h2>
</section>
<section>
<h2>
Fajn, tak to by bylo. Pojďme se vrátit na začátek.
</h2>
</section>
<section>
<h2>
Nejdete to lépe?
</h2>
</section>
<section>
<h2>
Multifaktorové přihlašovaní
</h2>
</section>
<section>
<h2>
Závěr
</h2>
</section>
</div>
</div>
<script src="/reveal.js/dist/reveal.js"></script>
<script>
Reveal.initialize({"hash":true});
const wait = ms => new Promise((resolve) => setTimeout(resolve, ms));
const input = document.querySelectorAll("#input")[0];
input.select();
input.value="";
const texts = ["toneuhodnes","Tomasek12","cNVh$2rn#wpSrLsw","••••••••","Listova306!","1203Anicka","12345678","edward211","327fstka","Bruno168","Jiricek1","password","123456","12345678","1234","qwerty","12345","dragon","p**sy","baseball","football","letmein","monkey","696969","abc123","mustang","michael","shadow","master","jennifer","111111","2000","jordan","superman","harley","1234567","f**kme","hunter","f**kyou","trustno1","ranger"];
let write_text = async (text,time,current=0) => {
if(current===0) {
input.select();
await wait(1000);
input.value="";
}
const l=text.length;
input.value+=text[current];
if(current < l-1) {
current++;
setTimeout(() => {write_text(text,time,current)},time);
} else {
input.setAttribute('value',input.value);
}
};
let haxx;
Reveal.on( 'startHAXX', () => {
haxx = setInterval(function(){write_text(texts[Math.floor(Math.random() * texts.length)],125)},2500);
} );
Reveal.on( 'stopHAXX', () => {
clearInterval(haxx);
} );
let tykame = true;
class VT extends HTMLElement {
constructor() {
super()
this.print()
}
print() {
if (tykame) this.innerText = this.getAttribute("t")
else this.innerText = this.getAttribute("v")
}
static get observedAttributes() {
return ["v", "t"];
}
attributeChangedCallback() {
this.print()
}
}
customElements.define("v-t", VT);
</script>
</body>
</html>