Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Login helppiä

nurmipossu [15.04.2004 15:32:28]

#

Tällaisen löysin joltain jenkkisivulta.. mutta noi sivut, joille uudelleenohjataan, niin miten ne pitäs suojata?? Siis kyllähän tää toimii, mutta ei suojaa mitään :) Kiitos kiitos.. -nurmari

MySQL taulu sisältää: id, username, password ja redirect.

<?
$dbh=mysql_connect ("localhost", "bloomers", "******") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("bloomers_portal");
if(!isset($username) ||!isset($password)) {
// escape from php mode and show login page
?>
<html>
<head>
<title>Login</title>
<head>
<body>
<form action="<?=$PHP_SELF?><?if($QUERY_STRING){ echo"?". $QUERY_STRING;}?>" method="POST">
<p align="center">Members only. Please login to access this document.</p>
<table align="center" border="0">
<tr>
<th>
Username:
</th>
<th>
<input type="text" name="username">
</th>
</tr>
<tr>
<th>
Password:
</th>
<th>
<input type="password" name="password">
</th>
</tr>
<tr>
<th colspan="2" align="right">
<input type="submit" value="Login">
</form>
</th>
</tr>
</table>
</body>
</html>
<?
exit();
}
// If all is well so far.
// Here you would check the supplied username and password against your database to see if they exist.
// For example, a MySQL Query, your method may differ.
$sql = mysql_query("SELECT password,redirect FROM user_table WHERE username = '$username'");
$fetch_em = mysql_fetch_array($sql);
$numrows = mysql_num_rows($sql);
if($numrows!= "0" & $password == $fetch_em["password"]) {
// correct login
$valid_user = 1;
header("Location: ".$fetch_em["redirect"]);
exit;
}
else {
$valid_user = 0;
}
// If the username exists and pass is correct, don't pop up the login code again.
// If info can't be found or verified....
if (!($valid_user))
{
// escape from php mode and show login error page.
?>
<html>
<head>
<title>Login</title>
<head>
<body>
<form action="<?=$PHP_SELF?><?if($QUERY_STRING){ echo"?". $QUERY_STRING;}?>" method="POST">
<p align="center">Incorrect login information, please try again. You must login to access this document.</p>
<table align="center" border="0">
<tr>
<th>
Username:
</th>
<th>
<input type="text" name="username">
</th>
</tr>
<tr>
<th>
Password:
</th>
<th>
<input type="password" name="password">
</th>
</tr>
<tr>
<th colspan="2" align="right">
<input type="submit" value="Login">
</form>
</th>
</tr>
</table>
</body>
</html>
<?
exit();
}
?>

folio [15.04.2004 18:44:48]

#

Evästeillä? Eli jos käyttäjätunnus/salasana on oikein asetat evästeen, ja sitten noilla mainitsemillasi sivuilla tarkistat löytyykö kyseistä evästettä.

nurmipossu [15.04.2004 19:38:23]

#

Tai sessionilla? Jotain sellaista yritin väsätä, mutta eipä oikein ottanut tulta alleen. Onkos hajua, mitä tohon pitäis muuttaa/laittaa?

ystävällisesti tiedustellen..

-ruohosika

ajv [15.04.2004 19:50:46]

#

Mä oon just vääntämässä vastaavaa koodivinkkii... Paljon parempaa tietenkin :P

nurmipossu [15.04.2004 20:28:26]

#

ajv:

No hyvä.. laita postilla, kun se on valmis ;)

-nur

Oippa [15.04.2004 23:00:53]

#

Kokeles tästä katsoa :)
http://mbnet.fi/oippa/cs15/opensource/kirjaudu_source.php

NiKC [16.04.2004 11:02:05]

#

istunnot (Session) saa käyttöön laittamalla sivun alkuun session_start() -funktiokutsun. Tämän pitää siis olla ennen mitään tulostusta, tai vaihtoehtoisesti pitää käyttää tulostuksen bufferointia.

Tämän jälkeen $_SESSION[] -taulukkoon asetetut muuttujat säilyvät istunnon ajan.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta