Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ограничение на приглашение по ссылке рефералов
 
 автор: aal-123   (05.01.2008 в 15:42)   письмо автору
 
 

Вобщем надо поставить ограничение на приглашение по реф. ссылке рефералов. Если их уже 3 то следущего кто регистрируется по этой ссылке записывать под любого у кого ещё нет 3-х рефералов. Текст вроде верный а вот синтаксис не уверен:

$pus=$HTTP_COOKIE_VARS["par"];
$sqlru="select * from users where login='$pus'";
$resultru=mysql_query($sqlru);
$rowru=mysql_fetch_array($resultru);

if ($pus==$rowru[1] && $pus<>"")
{
$check = @mysql_num_rows(mysql_query("SELECT * FROM `partner` where `pus` LIKE '$pus'"));
if ($check == 3)
{
$new_pus = mysql_query("SELECT `pus`, count(*) as cnt FROM `partner` GROUP BY `pus` HAVING cnt < 3 order by rand() LIMIT 1");
$pus = mysql_result($new_pus,0);
}
$sqlp="INSERT INTO partner VALUES('$pus','$r_login','$r_email','0.00')";
mysql_query($sqlp);
}

   
 
 автор: SnooPI   (05.01.2008 в 15:49)   письмо автору
 
   для: aal-123   (05.01.2008 в 15:42)
 

И вот она SQL-Inj =\

   
 
 автор: kasmanaft   (05.01.2008 в 15:54)   письмо автору
 
   для: aal-123   (05.01.2008 в 15:42)
 

$pus=$HTTP_COOKIE_VARS["par"]; - используйте $_COOKIE
$sqlru="select * from users where login='$pus'"; - $pus надо бы обработать с помощью mysql_real_escape_string(), если отключены магические кавычки (get_magic_quotes_gpc() ).
if ($pus==$rowru[1] && $pus<>"") - "не равно" это "!="

   
 
 автор: Unkind   (05.01.2008 в 15:57)   письмо автору
 
   для: aal-123   (05.01.2008 в 15:42)
 

А какой тогда смысл рефералов?

Вместо $HTTP_COOKIE_VARS желательно брать значение из $_COOKIE.
В данном коде, раз уж Вы используете только числовой ключ массива $rowru, лучше использовать mysql_fetch_row(), а не mysql_fetch_array().

> $sqlp="INSERT INTO partner VALUES('$pus','$r_login','$r_email','0.00')";
Каждое значение переменных $Pus, $r_login и т.д. должно экранироваться с помощью mysql_escape_string().

> "не равно" это "!="
Вообще-то можно и "<>"

   
 
 автор: kasmanaft   (05.01.2008 в 16:03)   письмо автору
 
   для: Unkind   (05.01.2008 в 15:57)
 

> Вообще-то можно и "<>"
Ыы, точно :))

   
 
 автор: aal-123   (05.01.2008 в 17:23)   письмо автору
 
   для: kasmanaft   (05.01.2008 в 16:03)
 

Ну так вы напишите как надо целиком а то я что то не пойму.
Весь мой текст исправьте просто в нём что надо и вставьте, заранее благодарю

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования