Autor Zpráva
voshi
Profil *
Mám takovou ideu, ale nevím, jak na to - chtěl bych na svoje stránky udělat zaheslovanou privátní sekci - jedná se o stránky dětskýho tábora a ta sekce má bejt pro vedoucí, tzn. že zabezpečení nemusí bejt nějakej extra brutál, stačí nějakej průměr? Poradíte někdo jak na to, vůec nevím, z kterýho konce to mám uchopit...
Heslo
Profil *
vytvoř soubor s názvem tajne.php a do něj dej následující kod:

**************************************************

<? session_start();

if($_POST["od"] == "Odeslat" and $_POST["heslo"] == "sporostudent"){$_SESSION["prihlasen"] = "ok";} ?>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;windows-1250">
<TITLE>Bez titulku</TITLE>
</HEAD>
<BODY>
<? if($_SESSION["prihlasen"] == "ok"): ?>

jakýkoliv obsah tajné sekce.....


<? else: ?>
<DIV ALIGN = CENTER>
<? if($_POST["od"] == "Odeslat" and $_POST["heslo"] != "sporostudent"){echo"<B><FONT COLOR="Red">Špatné heslo! Audodestrukce za 5..4..3..2..1..</FONT></B><BR><BR>";} ?>
<FORM METHOD="POST" ACTION="tajne.php">
Řekni heslo: <INPUT TYPE="PASSWORD" name="heslo"> <INPUT TYPE="SUBMIT" name="od" value="Odeslat">

</FORM>
</DIV>
<? endif; ?>
</BODY>
</HTML>

**************************************************

(bez těch hvězdiček samozřejmě)

zobrazí se formulář pro zadání hesla a posprávném zadání hesla se zobrazí cokoliv co dáš místo textu "jakýkoliv obsah tajné sekce....." heslo můžeš změnit na cokoliv co chceš stačí přepsat to heslo sporostudent (musí to tam být v uvozovkách ale zadávání do formuláře musí být samozřejmě bez uvozovek)
Heslo
Profil *
pokud chce zaheslovat ještě jakékoliv další stránky na tom webu tak na jejich úplný začátek dej

<?
session_start();
if($_SESSION["prihlasen"] != "ok"){header("location: tajne.php"); exit;}
?>

a jejich obsah se vždy zobrazí pouze pokud se uživatel přihlásí na stránce tajne.php, pokud není přihlášen hodí mu to formulář pro zadání hesla



jo a odhlášení probíhá automaticky pokud uživatel není nějakou dobu aktivní
Heslo
Profil *
Ještě jedna věc, všechny ty stránky na kterých tohle použiješ, musí mít příponu .php
voshi
Profil *
heslo
super, díky moc...ještě bych se zeptal - vysvětli bys mi torchu tu ideu toho zdorjáku? abych neměl na webu něco, co vubec nevím, co znamená..díky
voshi
Profil *
no, a navíc mi to píše tohle...

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /u/taborpaprsek.cz/www/private.php on line 17

asi tam bude malá chybička....?
Heslo
Profil *
Yop tohle

<FONT COLOR="Red">

přepiš na tohle

<FONT COLOR="Red">
Heslo
Profil *
sakra ono to tady neukáže zpětné lomítkaprostě

<FONT COLOR=x"Redx">

a ty dvě písmena x nahraď zpětnými lomítky (jedno x = jedno zpětné lomítko)
Heslo
Profil *
Funguje to jednoduše tak že uživatel odešle formulář s heslem a skript zkontroluje dali se heslo shoduje s tím v podmínce
pokud se shoduje uloží do session hodnotu OK podle které druhá část skriptu pozná že uživatel zadal správné heslo, z čehož vychází druhá podmínka, která když uvidí že pro uživatele není uložena žádná session tak mu zobrazí formulář pro zadání hesla, a pokud uvidí že uživatel má session nastavenou na hodnotu ok, pozná podle toho že zadal správné heslo a zobrazí mu tajný obsah stránky
voshi
Profil *
aha, už to funguje, dík...ale ještě jeden error - jakmile se přihlásím jednou, tak do tý doby, než ukončím prohlížeč se na tu stránku dostanu bez přihlášení - což může bejt trochu problém...nejde nějak vyřešit odhlašování?
DJ Miky
Profil
Vytvoř si nějaký PHP soubor a do něj dej:
<?php
$_SESSION['prihlasen']=false;
?>

A odkazuj na něj, pokud se budeš chtít odhlásit.
Pepicek4
Profil
Jsem úplná lama. Pokusil jsem se to také udělat, ale nejde mi to. Myslím tím, že jsem zkopíroval kód, opravil tu chybu se zpětnýma lomítkama a uložil jako .php Při otevření se mi objeví text "jakýkoliv obsah tajné sekce....." pod tím odpočet autodestrukce - zeleným písmem a pod tím formulář pro zadání kódu. Prosím o radu.
Pepicek4
Profil
Jo, ještě jsem zapomněl. Mezi odpočtem a formulářem je tohle: ";} ?>
Pepicek4
Profil
Jop, už asi vím čím to je. Zřejmě mi schází podpora pro php.
Pepicek4
Profil
Jen potřebuju poradit s tím odhlášením.. Založil jsem si php dokument s tím kódem a něco jsem zřejmě udělal zase špatně.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: