Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

20.04.2007, 14:44
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
помогите сделать конкурс
Привет... я не програмист но хочу создать конкурс на сайте
вот написал самую простейшию логин форму помогите сделать её более безопасной но также чтоб могли узнать логин и пароль
PHP код:
<?php
if ($cook > 3) {echo "<center><h1>ОШИБИТСЯ МОЖНО ТОЛЬКО 4 РАЗА!!!</h1></center>";} else {
$eror = 0;
$cook = 0;
$b = "Проверка ваших знаний";
if (isset($_REQUEST['do'])) do {
if ($_REQUEST['nm'] != "somename") { $eror = 1; break; }
if ($_REQUEST['ps'] != "somepass") { $eror = 1; break; }
header( 'refresh: 3; url=/Troy.php' );
echo '<h1>Редирект на строницу с трояном через 3 секунды...</h1>';
exit();
}
while (0);
if ($eror) {
$b = "Вы ниче не знаете блин";
if (isset($_COOKIE['cook'])) $cook = $_COOKIE['cook'];
$cook++;
setcookie("cook", $cook, 0x7fffffff, "/"); }
?>
<html>
<center><font color="red" size=4><b><? echo $b; ?></b></font><br>
<form action="<?=$_SERVER['REQUEST_URI']?>" method=post>
Имя: <input type=text name="nm"><br>
пароль: <input type=password name="ps"><BR>
<input type=submit name="do" value="Давай">
</form></center>
</html>
<?}?>
если говорю глупости пните меня по бошке))
|
|
|

20.04.2007, 14:49
|
|
Super Moderator
Регистрация: 08.11.2004
Сообщений: 3,395
Провел на форуме: 13166814
Репутация:
3876
|
|
чтобы могли узнать логин и пароль.. юзай JavaScript
quest.antichat.net - 20 levels
возможно то, что тебе нужно 
|
|
|

20.04.2007, 14:55
|
|
Постоянный
Регистрация: 14.05.2006
Сообщений: 334
Провел на форуме: 1543521
Репутация:
272
|
|
короче вот скрипт, который я сам все время для таких целей юзаю. Пароль и логин хранятся в БД. Подключаюсь к БД я через
PHP код:
require("db.php"); //просто подключение к БД и все
а куки ставлю и убираю через JavaScript. Пароли в БД храняться в md5. Корочь вот весь код:
PHP код:
<?php
require("db.php");
if((isset($_POST['login']))&&($_POST['login']!="")&&(isset($_POST['password']))&&($_POST['password']!=""))
{
$login=mysql_escape_string($_POST['login']);
$password=md5(mysql_escape_string($_POST['password']));
$query="select * from users where (login='$login' && password='$password');";
$db=mysql_query($query);
if(($db) && (mysql_num_rows($db)==1))
{
$val=mysql_fetch_assoc($db);
if($val['activate']!="activated")
{
echo "
<script language='JavaScript'>
alert('Ожидается подтверждение регистрации');
document.location='index.php?r';
</script>
";
}
else
{
echo "
<script language='JavaScript'>
document.cookie='uid=$val[uid]';
document.cookie='pass=$val[password]';
alert('Вы успешно вошли в систему аукциона');
document.location='index.php?r';
</script>
";
}
}
else
{
echo "
<script language='JavaScript'>
alert('Неправильное имя пользователя или пароль');
document.location='index.php?r';
</script>
";
}
}
?>
Ну а чтобы юзер видел что он активировался в системе проверяй вот такой функцией стоят куки или нет:
PHP код:
require("db.php");
function IsLoged()
{
if((isset($_COOKIE['uid']))&&($_COOKIE['uid']!="")&&(isset($_COOKIE['pass']))&&($_COOKIE['pass']!=""))
{
$uid=$_COOKIE['uid'];
$password=$_COOKIE['pass'];
$query="select * from users where (uid=$uid && password='$password');";
$db=mysql_query($query);
if(mysql_num_rows($db)==1)
{
$val=mysql_fetch_assoc($db);
if($val['activate']==="activated")return "YES";else return "WAIT_FOR_ACTIVATION";
}
else return "NO";
}
else return "NO";
}
ну а дальше уже сам лезешь в свою БД и отображаешь инфу о юзере
Последний раз редактировалось je0n; 20.04.2007 в 15:05..
|
|
|

20.04.2007, 14:59
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
Спасибо!
|
|
|

20.04.2007, 15:07
|
|
Отец порядка
Регистрация: 04.03.2005
Сообщений: 1,007
Провел на форуме: 1204641
Репутация:
412
|
|
PHP код:
require("db.php"); //просто подключение к БД и все
опять же... а ниче, если я зарегаюсь как system($_GET['cmd']) или вроде того?
|
|
|

20.04.2007, 15:46
|
|
Участник форума
Регистрация: 25.07.2005
Сообщений: 246
Провел на форуме: 457850
Репутация:
174
|
|
Дык в том файле просто код подключения к базе - это не база, а просто mysql_connect/pconnect с данными для логина в бд.
|
|
|

20.04.2007, 16:06
|
|
Постоянный
Регистрация: 14.05.2006
Сообщений: 334
Провел на форуме: 1543521
Репутация:
272
|
|
ну да, вот что там в db.php:
PHP код:
<?php
$db_user="root";
$db_host="localhost";
$db_pass="";
$db_name="auction";
if(!mysql_connect($db_host,$db_user,$db_pass))
{
echo "Не могу подключиться к базе данных. Обратитесь к администратору.";
exit;
}
mysql_select_db($db_name);
?>
Извиняюсь, что там везде про аукцион написано  ... Просто сейчас именно его пишу и куски оттуда выдираю 
|
|
|

20.04.2007, 20:10
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
жесть! это типа попытка обфускации кода?
>>je0n
PHP код:
$password=md5(mysql_escape_string($_POST['password']));
здесь mysql_escape_string() впринципе не нужна))
а вот тут:
PHP код:
function IsLoged()
{
if((isset($_COOKIE['uid']))&&($_COOKIE['uid']!="")&&(isset($_COOKIE['pass']))&&($_COOKIE['pass']!=""))
{
$uid=$_COOKIE['uid'];
$password=$_COOKIE['pass'];
$query="select * from users where (uid=$uid && password='$password');";
$db=mysql_query($query);
if(mysql_num_rows($db)==1)
{
$val=mysql_fetch_assoc($db);
if($val['activate']==="activated")return "YES";else return "WAIT_FOR_ACTIVATION";
}
else return "NO";
}
else return "NO";
}
какраз надо! sql-inj
Последний раз редактировалось nc.STRIEM; 20.04.2007 в 20:47..
|
|
|

20.04.2007, 20:46
|
|
Постоянный
Регистрация: 14.05.2006
Сообщений: 334
Провел на форуме: 1543521
Репутация:
272
|
|
спасибо  !!!большое!!!
вот бл*ть!!! Почти каждый скрипт был уязвим через куки!
Последний раз редактировалось je0n; 20.04.2007 в 20:54..
|
|
|

21.04.2007, 17:02
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
Сообщение от nc.STRIEM
жесть! это типа попытка обфускации кода?
ну эту часть примера я брал с книжки по программированию на пхп5 написаной создателем проекта денвер...
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|