Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- main();
- function main()
- {
- // Lista poprawnych haseł
- $passwordList = [
- 'heniu',
- 'jasiu',
- 'stasiu',
- 'lasiu',
- 'gieniu'
- ];
- // Hasło prosto z inputa, zabezpieczone. Blank_password jest zabezpieczeniem na brak wpisania hasła.
- $passwordFromInput = htmlspecialchars(strip_tags($_POST['password'] ?? ''), ENT_QUOTES);
- if (isset($_POST['password'])) {
- if (!empty($passwordFromInput) && \in_array($passwordFromInput, $passwordList, true)) {
- switch ($passwordFromInput) {
- case 'heniu':
- printSimpleText('dupa', 'b');
- break;
- case 'jasiu':
- loadHiddenHtmlFile('pierwszy.html');
- break;
- case 'stasiu':
- downloadFile('pierwszy.html');
- break;
- case 'lasiu':
- redirectToUrl('http://www.staszekigraszek.pl');
- break;
- }
- echo '<strong style="color: green">Dobre hasło</strong>';
- } else {
- echo '<strong style="color: red">Złe hasło lamo!</strong>';
- waitAndRefresh();
- }
- } else {
- ?>
- <p>Co tam <b>ciemięgo</b><u>?</u></p>
- <a href="index.html">Idź</a> grzecznie na początek kolejki!
- <?php
- }
- }
- function waitAndRefresh(): void
- {
- unset($_POST['password']);
- header('Refresh:3; url=index.html');
- }
- function redirectToUrl($url): void
- {
- \assert(filter_var($url, FILTER_VALIDATE_URL), 'To nie jest poprawny URL');
- header("Location: {$url}");
- die();
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /**
- * Pozwala ściągnąć plik fizycznie.
- */
- function downloadFile($file): void
- {
- $path = __DIR__ . '/' . $file;
- if (file_exists($path)) {
- header('Content-Description: File Transfer');
- header('Content-Type: application/octet-stream');
- header('Content-Disposition: attachment; filename="' . basename($path) . '"');
- header('Expires: 0');
- header('Cache-Control: must-revalidate');
- header('Pragma: public');
- header('Content-Length: ' . filesize($path));
- readfile($path);
- exit;
- }
- }
- /**
- * Drukuje zadany tekst o wybranym tagu.
- */
- function printSimpleText($textToPrint, $tag): void
- {
- assert(
- \in_array($tag, ['b', 'strong', 'p', 'div', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'], true),
- 'Wpisany tag jest nieprawidłowy. Wpisz jeden z listy dostępnych.');
- echo "<{$tag}>{$textToPrint}<{$tag}>";
- }
- /**
- * Pozwala pobrać plik HTML (na przykład) jako treść tej strony.
- */
- function loadHiddenHtmlFile($filename): void
- {
- $path = __DIR__ . '/' . $filename;
- if (file_exists($path)) {
- $doc = new DOMDocument();
- $doc->loadHTMLFile($path);
- echo $doc->saveHTML();
- } else {
- throw new \Exception("Wybrany plik: {$path} nie istnieje.");
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement