| | |
| Stránka: 1 z 1
| [ Príspevkov: 17 ] | |
Autor | Správa |
---|
Registrovaný: 09.03.08 Prihlásený: 22.12.10 Príspevky: 356 Témy: 85 Bydlisko: Topoľčany |
Caute chcem sa spytat ci je tento kod bezbecny. dakujem vam pekne
Login.php
Kód: <?php if(isset($_GET["message"])) $message = "<tr> <td style=\"background: #ff0; color: #000\"> <strong>".$_GET["message"]."</strong> </td> </tr> "; if(isset($_COOKIE["logged_in"]) && $_COOKIE["logged_in"] != "" && $_GET["logout"] != "yes") { header("Location: index.php"); exit; } if($_GET["logout"] == "yes") { setcookie("logged_in", "", time()+60*60*24*30, "/"); header("Location: index.php"); exit; } ?> <form action="login2.php" method="post"> <table border="2" cellpadding="15" cellspacing="5" style="width: 20%"> <?=$message?> <tr> <td style="background: #eee; color: #000"> <strong>User Name</strong>:<br /> <input maxlength="25" name="login_user_name" size="20" tabindex="1" type="text" /><br /><br /> <strong>Password</strong>:<br /> <input maxlength="25" name="login_password" size="20" tabindex="2" type="password" /> </td> </tr> <tr> <td> <strong>Stay logged in for</strong>:<br /> <select name="logged_in_for" tabindex="3"> <option value="1">1 day</option> <option value="2">2 days</option> <option value="3">3 days</option> <option value="7">1 week</option> <option value="14">2 weeks</option> <option value="21">3 weeks</option> <option value="31">1 month</option> <option value="180">6 months</option> <option value="365">1 year</option> </select> </td> </tr> <tr> <td> <input name="submit" tabindex="4" type="submit" value="Login" /> </td> </tr> </table> </form> Login2.phpKód: <?php $user_name = "test"; $password = "test";
$login_user_name = $_POST["login_user_name"]; $login_password = $_POST["login_password"]; $logged_in_for = $_POST["logged_in_for"];
if($login_user_name != $user_name || $login_password != $password) { header("Location: login.php?message=Invalid+user+name+or+password."); exit; } else { setcookie("logged_in", $login_password, time()+60*60*24*$logged_in_for, "/"); header("Location: index.php"); exit; } ?>
_________________ FCSpartak Trnava |
|
Registrovaný: 30.04.09 Prihlásený: 11.02.10 Príspevky: 723 Témy: 81 |
som slaby v tychto veciach ale urcite nie ked mas meno a heslo ulozene priamo v Login2.php
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 15.08.2009 18:30 | |
|
pilná lama glama
To by nevadilo.
kaidžas
Cookies sa daju lubovolne menit priamo v prehliadaci, takze to bezpecne rozhodne nie je. Pouzivaj sessions.
|
|
Registrovaný: 09.03.08 Prihlásený: 22.12.10 Príspevky: 356 Témy: 85 Bydlisko: Topoľčany | Napísal autor témy kaidžas: 15.08.2009 19:04 | |
|
ja som tiez v tychto veciach moc zbehly neni, dokazem si to upravit , ale len zaklad, takze asi tolko, myslim ze session urcite sam nezvladnem. dakujem vam
_________________ FCSpartak Trnava |
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 15.08.2009 19:05 | |
|
Ani si sa o to nepokusil a uz to vraj nezvladnes. Len na uplny zaciatok skriptu hod session_start() a potom normalne pracujes so superglobalnym polom $_SESSION prakticky rovnako, ako s $_COOKIE.
|
|
Registrovaný: 26.07.06 Prihlásený: 20.03.16 Príspevky: 1378 Témy: 90 Bydlisko: Slovakia-Ko... | Napísal kmsa: 15.08.2009 19:17 | |
|
na odhlasenie(odstranenie vsetkych sesion) len pouzijes
napr takuto kombinaciu
Kód: session_start(); session_unset(); session_destroy();
to heslo by som ukladal nejak zakryptene napr cez md5 ci sha1
ale jednoznacne cookie nepouzivaj kedze moze si uzivatel manualne slekovat a menit obsah
_________________ CPU: Intel E7200 momentalne default + freezer 7 pro | MB: Gigabyte GA-P35-DS3 rev. 2.0 F14 | RAM: A-DATA 4x1GB EE Vitesta | VGA: ATI Radeon HD4850 Sapphire Dual Slot | Monitor: BenQ E2200HD+17CTX | HDD: WD 3200AAKS + Maxtor 6Y080M0 80GB SATAII + 120GB ATA Barracuda | PSU: Corsair VX450W | Windows 7 Ultimate Sk | REPRO: Logitech X-210
+
IPhone 3GS JB 3.1.3 (new BR)
múdry sa postara o seba ale ešte múdrejši sa postara aj o druhých |
|
Registrovaný: 09.03.08 Prihlásený: 22.12.10 Príspevky: 356 Témy: 85 Bydlisko: Topoľčany | Napísal autor témy kaidžas: 15.08.2009 22:06 | |
|
Mohlo by to vyzerazt nejak takto?
Kód: <?php session_start(); $user_name = "test"; $password = "test";
$login_user_name = $_POST["login_user_name"]; $login_password = $_POST["login_password"]; $logged_in_for = $_POST["logged_in_for"];
if($login_user_name != $user_name || $login_password != $password) { header("Location: login.php?message=Invalid+user+name+or+password."); exit; } else { session_destroy("logged_in", $login_password, time()+60*60*24*$logged_in_for, "/"); header("Location: index.php"); exit; } ?>
_________________ FCSpartak Trnava |
|
Registrovaný: 10.02.08 Prihlásený: 15.05.17 Príspevky: 2264 Témy: 48 Bydlisko: Nitra | Napísal Svolo: 15.08.2009 22:25 | |
|
A preco ked sa rovnaju, cize druha cast podmienky, tak pouzivas session_destroy? Takto to ma byt :
Kód: if ($meno==$overenie_meno & $heslo==$overenie_heslo) {session_start (); $_SESSION ["logged"] = $meno; echo 'prihlaseny'; }else{ echo 'zle heslo!'; exit;}
Potom normalne na zaciatku kazdeho scriptu overujes ci je $_SESSION ["logged"] prazdna funkciou empty() a ked je tak das login a ked nie je tak das stranku s menom prihlaseneho
_________________ WYSIWYMGIYRRLAAGW: What You See Is What You Might Get If You’re Really Really Lucky And All Goes Well. |
|
Registrovaný: 09.03.08 Prihlásený: 22.12.10 Príspevky: 356 Témy: 85 Bydlisko: Topoľčany | Napísal autor témy kaidžas: 22.08.2009 12:02 | |
|
Caute chalani: je toto uz lepsie? Kód: <form id="form1" name="form1" method="post" action="login.php"> <table width="300" border="0"> <tr> <td>Meno</td> <td><input type="text" name="username_field" /></td> </tr> <tr> <td>Heslo</td> <td><input type="text" name="password_field" /></td> </tr> <tr> <td> </td> <td><input type="submit" name="login" value="Prihlás sa" /></td> </tr> </table> </form>
//LOGIN.php
<?php session_start(); include('config.php'); $username = $_POST['username_field']; $password = $_POST['password_field']; if(($username == $user) && ($password == $pass)) { $hash = md5($pass); $_SESSION['hash'] = $hash; echo("Vitaj $username<br>"); } else echo("Chybné meno a lebo heslo<br>"); ?>
//CONFIG.php
<?php $user = "test"; $pass= "test"; ?>
_________________ FCSpartak Trnava |
|
Registrovaný: 31.05.09 Prihlásený: 02.06.17 Príspevky: 562 Témy: 37 Bydlisko: BegyBen |
- session_start(); by si mal dat na zaciatok skriptu inak ti moze pisat hlasky typu: headers already sent by
- Dalej davas do premennych hodnoty, ktore este nie su nastavene. Najprv si to over napr. podmienkou if(isset...
- Pouzivas zbytocne vela zatvoriek
- Zbytocne dlhy nazov username_field a password_field
- Aksi chces overit takto vstup tak premenne $user a $pass by si mal definovat trosku vyssie, nie ?
|
|
Registrovaný: 09.03.08 Prihlásený: 22.12.10 Príspevky: 356 Témy: 85 Bydlisko: Topoľčany | Napísal autor témy kaidžas: 13.09.2009 11:03 | |
|
je toto uz bezpecnejsie? Kód: <?php session_start(); $errorMessage = ''; if (isset($_POST['txtUserId']) && isset($_POST['txtPassword'])) { if ($_POST['txtUserId'] === 'javed' && $_POST['txtPassword'] === 'javed') { $_SESSION['basic_is_logged_in'] = true; header('Location: main.php'); exit; } else { $errorMessage = 'Sorry, wrong user id / password'; } } ?>
<form method="post" name="frmLogin" id="frmLogin" action="login.php"> <table width="400" border="1" align="center" cellpadding="2" cellspacing="2"> <tr> <td width="150">User Id</td> <td><input name="txtUserId" type="text" id="txtUserId"></td> </tr> <tr> <td width="150">Password</td> <td><input name="txtPassword" type="password" id="txtPassword"></td> </tr> <tr> <td width="150"> </td> <td><input type="submit" name="btnLogin" value="Login"></td> </tr> </table> </form> <? echo " $errorMessage "; ?>
_________________ FCSpartak Trnava |
|
Registrovaný: 31.05.09 Prihlásený: 02.06.17 Príspevky: 562 Témy: 37 Bydlisko: BegyBen |
Vidim, ze si tam opravil dost chyb. Ovela lepsie a prehladnejsie
|
|
Registrovaný: 09.03.08 Prihlásený: 22.12.10 Príspevky: 356 Témy: 85 Bydlisko: Topoľčany | Napísal autor témy kaidžas: 13.09.2009 11:53 | |
|
a bude to stacit pre ochranu dat?
_________________ FCSpartak Trnava |
|
Registrovaný: 31.05.09 Prihlásený: 02.06.17 Príspevky: 562 Témy: 37 Bydlisko: BegyBen |
Nevidim v tom nejake velke chyby. Mozno session_start(); by som dal az po kontrole ci heslo a meno je korektne. A do $_SESSION['basic_is_logged_in'] by som asi nedaval true ale meno administratora(pre buducnost).
A potom uz vlastne na kazdej tvojej stranke budes overovat ci je platna session.
|
|
Registrovaný: 09.03.08 Prihlásený: 22.12.10 Príspevky: 356 Témy: 85 Bydlisko: Topoľčany | Napísal autor témy kaidžas: 13.09.2009 12:50 | |
|
cize nejak takto? Kód: <?php session_start(); if (!isset($_SESSION['basic_is_logged_in']) || $_SESSION['basic_is_logged_in'] !== true) { header('Location: login.php'); exit; } ?>
_________________ FCSpartak Trnava |
|
Registrovaný: 31.05.09 Prihlásený: 02.06.17 Príspevky: 562 Témy: 37 Bydlisko: BegyBen |
Ano, na zaciatok suboru das nieco take. Jednoducho povedane, zistis ci session zije,popripade overis jeho hodnotu, ak je vsetko ok, zobrazis obsah...
Co vsetko chces menit pomocou tej administracie na stranke prip. ake tam chces mat administratorske moznosti?
|
|
Registrovaný: 09.03.08 Prihlásený: 22.12.10 Príspevky: 356 Témy: 85 Bydlisko: Topoľčany | Napísal autor témy kaidžas: 13.09.2009 13:29 | |
|
no hlave menit obsah indexu, vies taky novinkovy system, a este menit ci su lanovky zjazdne a snehove podmienky cez zimu, nic komplikovane...
_________________ FCSpartak Trnava |
|
| Stránka: 1 z 1
| [ Príspevkov: 17 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|