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

Форум MySQL

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

 

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

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

тема: как мог произойти доступ к базе?? и как защититься??
 
 автор: Dred   (10.04.2008 в 20:45)   письмо автору
 
 

У меня есть страница index.php на которой выводятся новости с помощью функции include("includes/index2.php");

в странице index2.php прописана функция подсчета и записи количества просмотров каждой новости, т.е.
с таблицы news_main считываем переменную views, добавляем единицу и записываем новое число обратно в базу. Вот этот код..

$result = sql_query("select idnum, views from ".$t_main." where idnum='".$_GET['id']."' limit 1");
$rows = count($result);

list($idnum,$views)=$result[0];
$result4 = sql_query("select u_idnum,u_name from ".$t_users." where u_idnum=$autor_id");
$rows4 = count($result4);
list($u_idnum,$u_name)=$result4[0];
$views=$views+1;
mysql_query("update ".$t_main." set views='".$views."' where idnum=".$_GET['id']."");


вчера каким-то образом в более 2000 новостей в эту переменную views было записано число 5..
Как это могло произойти?? через страницу или через непосредственный доступ к базе MySQL??
И как защититься??

   
 
 автор: mechanic   (11.04.2008 в 09:51)   письмо автору
 
   для: Dred   (10.04.2008 в 20:45)
 

$_GET['id'] везде надо заменить на intval($_GET['id'])
иначе когда нить тебе не только циферки заменят ..

   
Rambler's Top100
вверх

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