1) Ir neforši slēgties ar root lietotāju DB. root lietotājs ir izmantojams tikai DB izveides un modifikācijas vajadzībām, bet nevis, lai slēgtos klāt tabulām un mēģinātu izpildīt neaizsargātus SQLus. Un neforši ir arī root paroli paziņot visiem caur forumu ;)
2) Rindiņas:
//Checks if there is a login cookie
if(isset($_COOKIE['ID_my_site']))
//if there is, it logs you in and directes you to the members page
{
$epasts = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['ID_my_site'];
$check = mysql_query("SELECT * FROM users WHERE email = '$email'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($pass != $info['pass'])
{
}
else
{
header("Location: index.php");
Ja nebūs tāds cookie ID_my_site uzstādīts, tad rinda:
$epasts = $_COOKIE['ID_my_site'];
izdos warningu - kā rezultātā radīsies "headers already sent" kļūda. Taču pieņemsim, ka šāds cookie ir uzstādīts un tam vērtība ir: gavriks@gav.lv, tādā gadījumā mainīgais $pass iegūst šo pašu vērtību un DB tiek atlasīti visi ieraksti, kuriem epasts ir vienāds ar gavriks@gav.lv un ja kaut vienam no šiem ierakstiem parole sakrīt ar gavriks@gavriks.lv, tad tiekam pāradresēti uz... index.php (šo pašu lapu, vai ne? - un viss sākas no gala)
un vēl... un vēl.. un vēl...
Ielogojoties rāda, ka tāds lietotājs nav tādēļ, ka Tu neseko līdzi, kā saucas input lauki formā un kādus $_POST mainīgos Tu izmanto skriptā:
Skriptā izmanto:
$_POST['email']
Bet formā ir:
<input type='text' name='epasts' class='ltextbox'>