Autor Zpráva
Fox
Profil
Mohl by mi někdo poradit jak se dá udělat dialog kdy strábka před načtením vyhodí cegulu zadejte uživ. jméno a heslo?
děkuju
Kajman
Profil *
//priblizne takhle
if(!isset($PHP_AUTH_USER))
{
Header("WWW-Authenticate: Basic realm=\"foxovo\"");
Header("HTTP/1.0 401 Unauthorized");
}
else
{
if ($PHP_AUTH_USER!='fox' || crypt($PHP_AUTH_PW,"fo")!='foB4VXWSmP6Kg')
{
Header("WWW-Authenticate: Basic realm=\"foxovo\"");
Header("HTTP/1.0 401 Unauthorized");
}
else
{
if(isset($_SERVER["HTTP_REFERER"]))
{
header("location: ".$_SERVER["HTTP_REFERER"]);
}
else
{
header("location: http://foxovo.cz/");
}
exit;
}
}
lammer
Profil
no napr cez .htaccess
takto

subor .htaccess
AuthUserFile linka/.htpasswd
AuthType Basic
AuthName "Secure"
require valid-user

subor .htpasswd
download:.AC4QrrUXfP1Y

toto je vygenerovane meno heslo
download:upload
staci pouzit akykolvek generator (hladaj cez google)
DoubleThink
Profil *
staci pouzit akykolvek generator (hladaj cez google)

php funkce crypt() nebo přímo program htpasswd.exe
lammer
Profil
staci pouzit akykolvek generator (hladaj cez google)

php funkce crypt() nebo přímo program htpasswd.exe

povedal by som ze je ich kopec online, nebude musiet vytvarat new (btw ja mam napisany vlastny generator pre kazdeho uzivatela)
Fox
Profil
Eště jeden dotaz - co dělá řádek
if ($PHP_AUTH_USER!='fox' || crypt($PHP_AUTH_PW,"fo")!='foB4VXWSmP6Kg')

JAko moc to nechapu ale potřebuju ověřit pevně dané heslo a jméno a potom echem vypsat stránku
Kajman
Profil *
no, tohle zkontroluje, jestli je login a heslo fox, když ano, přestane vyplivovat dokolečka přihlašovací okna udělá redirect na jinou stránku ze stejného serveru... tam už bude to php_auth_user a php_auth_pw vyplněno do té doby, než zavře prohlížeč.
Fox
Profil
Trošku jsem to upravil ale nějak to pořád haže cadelu s heslem.. Kde tam zase mam chybu?
<? 

if(!isset($PHP_AUTH_USER))
{
Header("WWW-Authenticate: Basic realm=\"foxovo\"");
Header("HTTP/1.0 401 Unauthorized");
}
else
{
if (($PHP_AUTH_USER!='f')and($PHP_AUTH_PW!="h"))
{
Header("WWW-Authenticate: Basic realm=\"foxovo\"");
Header("HTTP/1.0 401 Unauthorized");
}
else {
$heslo='1';
}
}

?>

<?
if(heslo=="1"){
echo ('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<style>
P {background-color: #FFF5E6; color:#BF9960; text-align: center; border-color: #BFE4FF; border-width: 1mm; font-type:bold}
BUTTON {background-color: RGB(255,253,191) ; color: black; font-style: bold; text-align: center;}
A:VISITED {color: White;}
A {color: white;}
INPUT{background-color: RGB(255,253,191) ; color: white; font-style: bold; text-align: center;}
BODY {color:White; BackGround-color:black;}
</style>
</head>
<body>');
}
?>
Kajman
Profil *
Co zkusit použít místo

if(heslo=="1")

if($heslo=="1")

?

A jen upozorňuji, že jsi tu podmínku upravil tak, že stačí zadat dobře heslo nebo login. And a or (||) se při negaci celku navzájem mění - stačí se nad tím zamyslet.
Fox
Profil
No jo ale mně de o to že to pořád dokola háže přihlašovací cedulu aj když tam dám dobré jméno a heslo - nikdy se nyvykná to else.
Kajman
Profil *
Tak jsem to zkoušel a mně to funguje tak, jak má. Vyskakuje to do té doby, dokud nedám správné, nebo nedám storno. A stačí dát jen f nebo h :-)
Fox
Profil
to je věc... na webu mně to ide ale doma ne
Fox
Profil
eště jedan věc proměná PHP_AUTH_USER zustane nastavená dokud se nazvře prohlížeč?
krteczek
Profil
ano, zavřením prohlížeče se standartně vymaže obsah proměnné php_auth_user
pokud používáte firefox, existuje rozšíření webdeweloper a v něm jde spoustu věcí změnit,vymazat,nastavit...
krteczek
tark
Profil
<?php

// definice funkci

function LoginForm() {
?>

<html><head><title>LOGIN</title></head>
<body>

<form action='soubor.php' method='post'>
<input type='password' name='pass' />
<input type='submit' value='login' name='login' />
</form>

</body></html>
<?php
die();
}


// nastaveni

$heslo = 'password';

// overeni

if(!isset($_POST['pass'] || $_POST['pass'] != $heslo)
LoginForm();

// kod pro zalogovane

echo 'YOU ARE LOGGED...';

?>
SQI
Profil *
Ja si to resil pres fce crypt()
hedhog
Profil *
Zdravim.. pouzivam tento kod pro autentifikaci..

if (substr($SERVER_SOFTWARE, 0, 9) == "Microsoft" &&
!isset($PHP_AUTH_USER) &&
!isset($PHP_AUTH_PW) &&
substr($HTTP_AUTHORIZATION, 0, 6) == "Basic "
)
{
list($PHP_AUTH_USER, $PHP_AUTH_PW) =
explode(":", base64_decode(substr($HTTP_AUTHORIZATION, 6)));

}

$log = MySQL_Query("select * from users where login = '$PHP_AUTH_USER' and heslo = password('$PHP_AUTH_PW')");
$check = MySQL_Num_Rows($log);

if ($check != 1){

// FALSE
header('WWW-Authenticate: Basic realm="NacMarketing - Klientská sekce"');

} else {

// TRUE

}


[b]Potreboval bych ale prihlasovani umoznit i z venku...

tj.. ze by na jine strance byl formular odkazujici na tenhle skript...

a zde by se to nak umele prihlasilo, aniz by se objevovalo dialogove okno pro zadani loginu a hesla...

Lze to nak udelat??? treba poslat v hlavicce ... PHP_AUTH_USER a PW... ????


Dekuji

Petr Kněžek - petr.knezek@seznam.cz
Toto téma je uzamčeno. Odpověď nelze zaslat.

0