To měla být definice Session?Lamicz píše:...
Časem se mu to stejně zvrhne ve více zaheslovaných stránek, takže bych chtěl vidět tvoje rychlé řešení....
BTW.: zpomaluje každý další řádek kódu


Nevim, jestli sis nevsiml, ale v tom kodu neni ani radek o sessions. Je to uz drive zminovane prihlaseni z databaze.Teuzz píše:To měla být definice Session?
Časem se mu to stejně zvrhne ve více zaheslovaných stránek, takže bych chtěl vidět tvoje rychlé řešení....
Kód: Vybrat vše
while($user = mysql_fetch_array($res))
{
header("Location: ___ tajna www___ ");
exit;
}Kód: Vybrat vše
if (mysql_num_rows($res) > 0)
{
header("Location: ___ tajna www___ ");
exit;
}

reagoval jsem na tebe? ne...matajon píše:Nevim, jestli sis nevsiml, ale v tom kodu neni ani radek o sessions. Je to uz drive zminovane prihlaseni z databaze.Teuzz píše:To měla být definice Session?
Časem se mu to stejně zvrhne ve více zaheslovaných stránek, takže bych chtěl vidět tvoje rychlé řešení....
ve svém kódu jsem session použil. Další dotazy?Lamicz píše:ezisi, na co SESSIONS? Jako nevim, jestli to vite, ale:
a) zpomaluji
b) na toto je to uplne zbytecny
c) slouzi primarne pro predavani dat mezi jednotlivymi strankami v RS, coz v tomto pripade rozhodne neni.

No ty upravy uz mas v tom mym CODE - to tvoje by nefungovalo, kdyz bys mel na serveru nastaveni register_globals=Off, coz kvuli bezpecnosti maji skoro vsude. A druha vec, u FORMu je parametr METHOD povinnyTrinom píše:...
Kód: Vybrat vše
<?
session_start();
// form
if($_GET['action'] == login){
login($_POST['login'], $_POST['password']);
}
// login function
function login($login, $password){
$rows = mysql_num_rows(mysql_query( "SELECT `Id` FROM `users` WHERE (`Login`='$login') AND (`Password`='$password')" ));
if($rows > 0){
$_SESSION['login'] = $login;
}
$this->gotourl("index.php");
}
echo "<html>\n";
echo "<head>\n";
echo "<title>Title</title>\n";
echo "</head>\n";
echo "<body>\n";
if(!isset($_SESSION['login'])){
echo "<FORM METHOD="POST" ACTION="".$_SERVER['PHP_SELF']."?action=login">\n";
echo "<table>\n";
echo "<tr>\n";
echo "<td>Login:</td>\n";
echo "<td><INPUT TYPE="TEXT" NAME="login"></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>Heslo:</td>\n";
echo "<td><INPUT TYPE="PASSWORD" NAME="password"></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td><INPUT TYPE="SUBMIT" VALUE="Login"></td>\n";
echo "</tr>\n";
echo "</table>\n";
echo "</FORM>\n";
}else{
echo "<H1>Jsi přihlášený jako <b>".$_SESSION['login']."</b></H1>\n";
echo "<a href="...">tajne menu 1</a>\n";
echo "<a href="...">tajne menu 2</a>\n";
}
echo "</body>\n";
echo "</html>\n";
?>


Ten už zní rozumě, nějaká přímá adresa vetřelci nepomůžeTrinom píše:No, já si myslím, že by mu to mohlo stačit, protože koho zajímaj něčí rodinný fotky. Jinak trošku jiný skript, kterej používám já...bubanek píše:Hm a co když někdo zadá tu adresu přímo, pak se ho to na heslo ptát nebude. Cookie,Sessions(raději)...?Kód: Vybrat vše
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2"> <title>Titulek</title> <link rel="stylesheet" type="text/css" href="../foto.css"> </head> <h2>Zaheslovaná galerie</h2> <? if($heslo != "heslo"): ?> <!--přihlašovací formulář --> <form action="anygal.php"> Zadej heslo: <input type=password name="heslo"> <input type=submit> </form> <? ; else: ?> <body> Nějaký fotečky <? endif ?> </body> </html>

Kód: Vybrat vše
$this->gotourl("index.php");
Kód: Vybrat vše
header("Location: index.php");

ok!! jetse sem to nezkousel ale az bude cas tak urcite a dikyLamicz píše:DjFrodo:
Oops, kopiroval jsem to z mych objektu a zustal tam jeden "pozutatek" - mistoprepis naKód: Vybrat vše
$this->gotourl("index.php");[/code]Kód: Vybrat vše
header("Location: index.php");

jasně, to je mnohem bezpečnější, když přenášíš po tom webu hesla v nešifrovaný podobě LOLPCMark píše:to je mnohem bezpečnějšísheriff.wiggum píše:co autorizace pres htaccess?
jinak návod na různé druhy zaheslovávání je zde:
http://www.jakpsatweb.cz/heslo.html#moznosti

ad a) na to jsi přišel jak?Lamicz píše:Jezisi, na co SESSIONS? Jako nevim, jestli to vite, ale:
a) zpomaluji
b) na toto je to uplne zbytecny
c) slouzi primarne pro predavani dat mezi jednotlivymi strankami v RS, coz v tomto pripade rozhodne neni.


Chápu tvojí reakci, máš pravdu v tom, že zde by bylo možná fakt jednodušší udělat HTTP AUTH resp. víc na místě, ale pořád mi nejde do hlavy ta zátěž při použití SESSIONS, můžeš to nějak rozvést?Lamicz píše:...


Ale já chápu jak fungují SESSIONS, nemusíš se namáhatLamicz píše:...

prosimte jak jeste udelam odhlaseni aby se mi session smazali???Lamicz píše:Kód: Vybrat vše
<? session_start(); // form if($_GET['action'] == login){ login($_POST['login'], $_POST['password']); } // login function function login($login, $password){ $rows = mysql_num_rows(mysql_query( "SELECT `Id` FROM `users` WHERE (`Login`='$login') AND (`Password`='$password')" )); if($rows > 0){ $_SESSION['login'] = $login; } $this->gotourl("index.php"); } echo "<html>\n"; echo "<head>\n"; echo "<title>Title</title>\n"; echo "</head>\n"; echo "<body>\n"; if(!isset($_SESSION['login'])){ echo "<FORM METHOD="POST" ACTION="".$_SERVER['PHP_SELF']."?action=login">\n"; echo "<table>\n"; echo "<tr>\n"; echo "<td>Login:</td>\n"; echo "<td><INPUT TYPE="TEXT" NAME="login"></td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td>Heslo:</td>\n"; echo "<td><INPUT TYPE="PASSWORD" NAME="password"></td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td><INPUT TYPE="SUBMIT" VALUE="Login"></td>\n"; echo "</tr>\n"; echo "</table>\n"; echo "</FORM>\n"; }else{ echo "<H1>Jsi přihlášený jako <b>".$_SESSION['login']."</b></H1>\n"; echo "<a href="...">tajne menu 1</a>\n"; echo "<a href="...">tajne menu 2</a>\n"; } echo "</body>\n"; echo "</html>\n"; ?>

Dj´ Frodo píše: prosimte jak jeste udelam odhlaseni aby se mi session smazali???
edit: jinak to funguje bezvadne
edit2: prosimte jeste bych k tomu potreboval aby se mi do session ukladali dalsi dve data z databaze (prava,email) a i to id co tam testujes, takze v podstate tri. Protoze s id budu potrebovat dale pracovat. nejak na to nemuzu prijit!!
Kód: Vybrat vše
<?php
session_unset();
?php>
Kód: Vybrat vše
$rows = mysql_num_rows(mysql_query( "SELECT `Id` FROM `users` WHERE (`Login`='$login') AND (`Password`='$password')" ));
Kód: Vybrat vše
$query = mysql_query( "SELECT `Id`,`prava`,`email` FROM `users` WHERE (`Login`='$login') AND (`Password`='$password')");
$rows = mysql_fetch_array($query);
Kód: Vybrat vše
if($rows > 0){
$_SESSION['login'] = $login;
}
Kód: Vybrat vše
if(mysql_num_rows($query) > 0){
$_SESSION['login'] = $login;
$_SESSION['prava'] = $rows['prava'];
$_SESSION['email'] = $rows['email'];
}
Kód: Vybrat vše
$promenna_id = $_SESSION['ID']*3521;
Kód: Vybrat vše
$_SESSION['ID'] = $_SESSION['ID']*3521;

ja tam id potrebuju v session kvuli tomu abych pak pri nejaky akci jako zmena udaju moh vypsat info podle id a to nasobeni sem tam jako nepochopil to je jako kvuli tomu abych si ho nejakym zpusobem zasifroval?Teuzz píše:ID v session neměň, kdyžtak si ho načti do proměnné a měň proměnnou nikoli ID. BTW. ID je od toho, aby se neměnilo...
nikoliKód: Vybrat vše
$promenna_id = $_SESSION['ID']*3521;
Kód: Vybrat vše
$_SESSION['ID'] = $_SESSION['ID']*3521;

Aha, už jsem pochopil tu větu, kterou máš červeně v tom předchozim postu...Dj´ Frodo píše:ja tam id potrebuju v session kvuli tomu abych pak pri nejaky akci jako zmena udaju moh vypsat info podle id a to nasobeni sem tam jako nepochopil to je jako kvuli tomu abych si ho nejakym zpusobem zasifroval?Teuzz píše:ID v session neměň, kdyžtak si ho načti do proměnné a měň proměnnou nikoli ID. BTW. ID je od toho, aby se neměnilo...
nikoliKód: Vybrat vše
$promenna_id = $_SESSION['ID']*3521;
Kód: Vybrat vše
$_SESSION['ID'] = $_SESSION['ID']*3521;
Kód: Vybrat vše
if(mysql_num_rows($query) > 0){
$_SESSION['login'] = $login;
$_SESSION['prava'] = $rows['prava'];
$_SESSION['email'] = $rows['email'];
$_SESSION['Id'] = $rows['Id'];
}

jj ja uz sem si to udelal, ale prezto dekuju!!!Teuzz píše: Aha, už jsem pochopil tu větu, kterou máš červeně v tom předchozim postu...![]()
![]()
Kód: Vybrat vše
if(mysql_num_rows($query) > 0){ $_SESSION['login'] = $login; $_SESSION['prava'] = $rows['prava']; $_SESSION['email'] = $rows['email']; $_SESSION['Id'] = $rows['Id']; }