Diskuze: widgety registrace

Člen

Zobrazeno 12 zpráv z 12.
skutečně si myslíš že registrace jsou jenom o HTML?
REGISTRACE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Registrace</title>
</head>
<body>
<?php
$kontrola_odeslani = $_POST["tlacitko"];
if($kontrola_odeslani){
$nick = $_POST["nick"];
$heslo = $_POST["heslo"];
$potvrd_heslo = $_POST["potvrd_heslo"];
$email = $_POST["email"];
if($heslo == $potvrd_heslo){
if($nick AND $email){
$heslo = md5(md5($heslo));
mysql_connect("localhost", "root", "");
mysql_select_db("databaze");
$ip = $_SERVER["REMOTE_ADDR"];
$zapis = mysql_query("INSERT INTO uzivatele SET nick='$nick', heslo='$heslo', email='$email', ip='$ip', opravneni='1' ;");
echo "Registrace proběhla v pořádku.";
} else {
echo "Nezadal jsi nick nebo email.";
}
} else {
echo "Hesla nejsou shodná!";
}
}
?>
<p>
<form action="<?php $PHP_SELF; ?>" method="POST">
<table>
<tr><td>Nick: </td><td><input type="text" name="nick" /></td></tr>
<tr><td>Heslo: </td><td><input type="password" name="heslo" /></td></tr>
<tr><td>Potvrď Heslo: </td><td><input type="password" name="potvrd_heslo" /></td></tr>
<tr><td>E-mail: </td><td><input type="text" name="email" /></td></tr>
<tr><td><input type="submit" name="tlacitko" value="Registrovat" /></td></tr>
</table>
</form>
</p>
</body>
</html>
PŘIHLÁŠENÍ
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Přihlášení</title>
</head>
<body>
<?php
$tlacitko = $_POST["tlacitko"];
if($tlacitko){
$nick = $_POST["nick"];
$heslo = $_POST["heslo"];
$heslo = md5(md5($heslo));
mysql_connect("localhost", "root", "");
mysql_select_db("databaze");
$dotaz = mysql_query("SELECT * FROM uzivatele WHERE nick='".mysql_real_escape_string($nick)."' AND heslo='$heslo' ;");
while($vystup = mysql_fetch_object($dotaz))
{
$id = $vystup->id;
$nickDB = $vystup->nick;
$hesloDB = $vystup->heslo;
$email = $vystup->email;
$opravneni = $vystup->opravneni;
}
if($nick == $nickDB AND $heslo == $hesloDB){
$_SESSION["id"] = $id;
$_SESSION["nick"] = $nick;
$_SESSION["email"] = $email;
$_SESSION["opravneni"] = $opravneni;
echo "Byl jsi přihlášen jako $nick";
}
}
?>
<p>
<form action="<?php $PHP_SELF; ?>" method="POST">
<table>
<tr><td>Nick:</td><td><input type="text" name="nick" /></td></tr>
<tr><td>Heslo:</td><td><input type="password" name="heslo" /></td></tr>
<tr><td></td><td><input type="submit" name="tlacitko" value="Přihlásit se" /></td></tr>
</table>
</form>
</p>
</body>
</html>
SQL
-- --------------------------------------------------------
--
-- Struktura tabulky `uzivatele`
--
CREATE TABLE IF NOT EXISTS `uzivatele` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nick` varchar(40) COLLATE utf8_czech_ci NOT NULL,
`heslo` varchar(50) CHARACTER SET latin1 NOT NULL,
`email` varchar(50) COLLATE utf8_czech_ci NOT NULL,
`ip` varchar(40) CHARACTER SET latin1 NOT NULL,
`opravneni` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=3 ;
Fuj, tohle je na vymazání, SQL injekce, to jako vážně?
Pokud chceš dělat dynamické stránky, tak musíš umět dynamický jazyk. Podívej se na PHP tutoriály, jinak to prostě neuděláš.
ono už nejspíš použila ten ... počkat, jak to vlastně nazvat?
Paskvil by mi nevadil, kdyby ten kód nebyl nebezpečný, každý nějak začínal. Měl bys to opravit, nebo to někdo opíše.
Zobrazeno 12 zpráv z 12.