231 lines
6.0 KiB
HTML
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>
|