Heslo
- sovicka
- Středně pokročilý

- Registrován: 17. pro 2003
- Bydliště: východní prágl
- Kontaktovat uživatele:
Tady máš takový malý skriptík v PHP - spíchnul jsem to za pár minutek, takže nemá ani ošetřené stavy (špatné heslo, dlouhé heslo, ...). Ovšem funkci plní.
//edit: předěláno na POST, GET by totiž asi nebyl moc bezpečný 
Kód: Vybrat vše
<?php
$detpass = $_POST["pdetpass"];
$pass = "nejake.heslo"; //sem napis jake heslo chces
if ($detpass == $pass) {
Header("Location: http://www.celaadresa.cz"); //napis adresu stranky kam chces presmerovat
Header("Connection: close");
die;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Nadpis</title>
</head>
<body>
<form action="" method="post">
<input type="password" name="pdetpass" />
<input type="submit" value="OK" />
</form>
</body>
</html>
Francie ... sladká Francie
- sheriff.wiggum
- Začátečník

- Registrován: 08. dub 2005
- Bydliště: Skotsko/Ceska republika
- Kontaktovat uživatele:
- PCMark
- Začátečník

-
- Registrován: 19. črc 2003
- Bydliště: Hlučín, Ostrava
- Kontaktovat uživatele:
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
- matajon
- Začátečník

- Registrován: 22. lis 2005
- Bydliště: Dobruška
- Kontaktovat uživatele:
- PCMark
- Začátečník

-
- Registrován: 19. črc 2003
- Bydliště: Hlučín, Ostrava
- Kontaktovat uživatele:
- sovicka
- Středně pokročilý

- Registrován: 17. pro 2003
- Bydliště: východní prágl
- Kontaktovat uživatele:
Ano, tedy PHP, .htaccess, a další server-side aplikacePCMark píše:"Nejlepší systém ochrany údajů je autentifikace přímo na serveru."
Tím citátem bylo myšleno použití například JavaScriptu, který je pro tento účel zcela nevhodný.
.htaccess je prakticky stejně těžko prolomitelný jako php. Jediný případ který mě napadá (kdy je php autentifikace méně bezpečná) je případ, kdy se podaří útočníkovi shodit php modul na serveru - ovšem je otázkou, zda by pak apache do direktoráře zakázel přístup, nebo by php soubory prostě zobrazil v textovém režimu
+ještě jedna výhoda .htaccess je nenutnost instalovat php
Francie ... sladká Francie
- PCMark
- Začátečník

-
- Registrován: 19. črc 2003
- Bydliště: Hlučín, Ostrava
- Kontaktovat uživatele:
Tím citátem nebyl myšlený java skript, ale přímo konfigurace serveru pomocí .htaccess a .htpasswd.sovicka píše:Tím citátem bylo myšleno použití například JavaScriptu, který je pro tento účel zcela nevhodný
Serverový skript (např. PHP, ASP nebo obecně libovolný CGI skript) je k zaheslování bezpečně použitelný jen pokud bude heslo zakodované v databázi třeba pomocí MD5.
- Trinom
- Středně pokročilý

- Registrován: 13. črc 2005
- Bydliště: Brno
- Kontaktovat uživatele:
- zombux
- Odborník PCT

- Registrován: 05. čer 2003
- Bydliště: sluníčkář a havloid z pražské lumpenkavárny
osobně bych to dál moc neřešil, přece jen nevíme co autor threadu vlastně potřebujeTrinom píše:a co použít HTTPS + PHP/.htacces?
ignorelist: kremrole a dezoláti
- bivis
- Nováček

-
- Registrován: 25. zář 2005
- Bydliště: Ostrava
Mám webhosting na webzdarma. Chci tam umístit stránku s tématem fotografie. Zaheslovat bych chtěl jeden odkaz kde budou mít přístup jen moji známý.Jsem úplnej začátečník, vše dělám ve Frontpage.Ale jinak moc díky za názory.zombux píše:osobně bych to dál moc neřešil, přece jen nevíme co autor threadu vlastně potřebujeTrinom píše:a co použít HTTPS + PHP/.htacces?je dost možný že má hosting bez PHP atd, tam už by byla jediná možnost a to javascript kterej louskne kdokoliv kdo umí zobrazit jeho zdroják. je taky možný že na serveru není povolen .htaccess... prostě nedostatečně zadanej problém
- Oneeye_IO
- Začátečník

- Registrován: 15. srp 2005
- Bydliště: Brno střed
- Kontaktovat uživatele:
Jestli děláš ve frontpage, tak si radši pročti www.jakpsatweb.cz 
PC: AMD Athlon II X4 640 :: Gelid Tranquillo :: Gigabyte GA-870A-UD3 rev. 2.1 :: Kingston DDR3 4GB :: Powercolor HD5750 SCS3 :: ESI Maya 44 :: Chieftec APS-500S :: Antec Three Hundred :: W7 x64
Lenovo X61: 1,8GHz :: 2GB
Miranda IM | Opera | Gimp | Inkscape | WWFSMD? I want to believe
Lenovo X61: 1,8GHz :: 2GB
Miranda IM | Opera | Gimp | Inkscape | WWFSMD? I want to believe
- PCMark
- Začátečník

-
- Registrován: 19. črc 2003
- Bydliště: Hlučín, Ostrava
- Kontaktovat uživatele:
- bubanek
- Středně pokročilý

- Registrován: 24. dub 2005
- Bydliště: D1
Hm a co když někdo zadá tu adresu přímo, pak se ho to na heslo ptát nebude. Cookie,Sessions(raději)...?sovicka píše:Tady máš takový malý skriptík v PHP - spíchnul jsem to za pár minutek, takže nemá ani ošetřené stavy (špatné heslo, dlouhé heslo, ...). Ovšem funkci plní.//edit: předěláno na POST, GET by totiž asi nebyl moc bezpečnýKód: Vybrat vše
<?php $detpass = $_POST["pdetpass"]; $pass = "nejake.heslo"; //sem napis jake heslo chces if ($detpass == $pass) { Header("Location: http://www.celaadresa.cz"); //napis adresu stranky kam chces presmerovat Header("Connection: close"); die; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Nadpis</title> </head> <body> <form action="" method="post"> <input type="password" name="pdetpass" /> <input type="submit" value="OK" /> </form> </body> </html>
- bubanek
- Středně pokročilý

- Registrován: 24. dub 2005
- Bydliště: D1
- Trinom
- Středně pokročilý

- Registrován: 13. črc 2005
- Bydliště: Brno
- Kontaktovat uživatele:
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>
Measure With Micrometer, Mark With Chalk, Cut With Ax.....................TDI = Ten Dým Ignoruj- Teuzz
- Středně pokročilý

- Registrován: 25. zář 2004
- Bydliště: Liberec, Praha
- Kontaktovat uživatele:
to neni zrovna pravda... co přepis MD5 pro JavaScript?zombux píše: javascript kterej louskne kdokoliv kdo umí zobrazit jeho zdroják
Pak tu někdo motá autentifikaci, htaccess a htpwd
Cookies? To si může:
a) každý změnit
b) každý vypnout
Udělal bych to tak, že do SESSION uložím nějak uperavenou IP adresu a budu kontrolovat, zda se nezměnila. Pokud sedí, budu tomu uživateli věřit. To je v aplikaci bez databáze celkem věrohodné. V aplikaci s databází přidávám HTTPS a další tři stupně ochrany.
čili NĚKOLIK ÚPRAV:
Kód: Vybrat vše
<?php
session_start();
$detpass = $_POST["pdetpass"];
$pass = "nejake.heslo"; //sem napis jake heslo chces
if ($detpass == $pass) {
$IP = $_SERVER['REMOTE_ADDR'];
$IPP = explode(".",$IP); //zkratka pro IP_POLE ;-)
$IP_OTISK = md5(($IPP[0]+36985)*($IPP[1]+123456)*($IPP[2]-689)*(($IP[3]-66)*3/2));
$_SESSION['secure'] = $IP_OTISK;
Header("Location: http://www.celaadresa.cz"); //napis adresu stranky kam chces presmerovat
Header("Connection: close");
die;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Nadpis</title>
</head>
<body>
<form action="" method="post">
<input type="password" name="pdetpass" />
<input type="submit" value="OK" />
</form>
</body>
</html>Kód: Vybrat vše
<? include 'soubor.php'; ?>Kód: Vybrat vše
<?php
session_start();
$IP = $_SERVER['REMOTE_ADDR'];
$IPP = explode(".",$IP); //zkratka pro IP_POLE ;-)
$IP_OTISK = md5(($IPP[0]+36985)*($IPP[1]+123456)*($IPP[2]-689)*(($IP[3]-66)*3/2));
if ($_SESSION['secure'] != $IP_OTISK){
exit('Neplatné spojení');
}
?>
Burn in hell.
- Dj´ Frodo
- Začátečník

- Registrován: 11. kvě 2005
- Bydliště: Mnichovo Hradiště
- Kontaktovat uživatele:
- Lamicz
- Začátečník

- Registrován: 30. kvě 2005
- Bydliště: In a galaxy far away...
- Kontaktovat uživatele:
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.
Login pres DB s jmenem a heslem - tabulku do DB si vytvor - sloupce Id, Login a Password. V souboru db_pripojeni.php bude pripojeni do databaze.
Vlastni skript na login:
EDIT: TO Tritonovo nemusi fungovat (a asi nebude), protoze:
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.
Login pres DB s jmenem a heslem - tabulku do DB si vytvor - sloupce Id, Login a Password. V souboru db_pripojeni.php bude pripojeni do databaze.
Vlastni skript na login:
Kód: Vybrat vše
<?
require("db_pripojeni.php");
if($_GET['action'] == login){
login($_POST['login'], $_POST['password']);
}
// login
function login($login, $password){
$res = mysql_query( "SELECT `Id` FROM `users` WHERE (`Login`='$login') AND (`Password`='$password')" );
while($user = mysql_fetch_array($res)){
header("Location: ___ tajna www___ ");
exit;
}
header("Location: login.php");
exit;
}
?>
<html>
<head>
<title>Nadpis</title>
</head>
<body>
<form action="login.php?action=login" method="post">
<input type="text" name="login">
<input type="password" name="password">
<input type="submit" value="OK">
</form>
</body>
</html>
Kód: Vybrat vše
if($_POST['heslo'] != "heslo"):
<form method="POST"...>
:: DESKA :: Asus A8V-XE (VIA K8T890) :: CPU :: AMD Athlon 64 3700+ :: VGA :: ATI Asus GF7600 512MB - passive solution :: RAM :: 4x 256MB Samsung :: HDD :: 80GB Maxtor PATA ::
- Trinom
- Středně pokročilý

- Registrován: 13. črc 2005
- Bydliště: Brno
- Kontaktovat uživatele:
Tak, nejsem Triton, ale Trinom, ale to je fuk. Jakou úpravu bys navrhoval?Lamicz píše:EDIT: TO Tritonovo nemusi fungovat (a asi nebude), protoze:
Kód: Vybrat vše
if($_POST['heslo'] != "heslo"): <form method="POST"...>
PS: funguje to OK...
Measure With Micrometer, Mark With Chalk, Cut With Ax.....................TDI = Ten Dým Ignoruj