Скрипт Фруктовая ферма с выводом денег.

  • Автор темы admin
  • Дата начала
Статус
В этой теме нельзя размещать новые ответы.
DENIKA31
Местный
Сообщения
39
Реакции
2
  • #5.101
разобрался с кодом но не всё когда покупаеш там где вводиш количество скока купить плодов кпримеру сразу 10 покупает всеравно один плод
 
Последнее редактирование:
skroliks
PHP, MySQL, CSS
Участник
Сообщения
280
Реакции
46
  • #5.102
Код:
if($_GET['menu']!='admin4ik' && 'support'){
function limpiarez($mensaje){
$mensaje = htmlspecialchars(trim($mensaje));
$mensaje = str_replace("'","′",$mensaje);
$mensaje = str_replace(";","¦",$mensaje);
$mensaje = str_replace("$"," USD ",$mensaje);
$mensaje = str_replace("<","&lang;",$mensaje);
$mensaje = str_replace(">","&rang;",$mensaje);
$mensaje = str_replace('"',"&rdquo;",$mensaje);
$mensaje = str_replace("%27"," ",$mensaje);
$mensaje = str_replace("0x29"," ",$mensaje);
$mensaje = str_replace("&amp amp ","&",$mensaje);
return $mensaje;
}

foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=limpiarez($HTTP_POST_VARS[$i]);}
foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=limpiarez($HTTP_GET_VARS[$i]);}
foreach($_POST as $i => $value){$_POST[$i]=limpiarez($_POST[$i]);}
foreach($_GET as $i => $value){$_GET[$i]=limpiarez($_GET[$i]);}
foreach($_COOKIE as $i => $value){$_COOKIE[$i]=limpiarez($_COOKIE[$i]);}


foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=stripslashes($HTTP_POST_VARS[$i]);}
foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=stripslashes($HTTP_GET_VARS[$i]);}
foreach($_POST as $i => $value){$_POST[$i]=stripslashes($_POST[$i]);}
foreach($_GET as $i => $value){$_GET[$i]=stripslashes($_GET[$i]);}
foreach($_COOKIE as $i => $value){$_COOKIE[$i]=stripslashes($_COOKIE[$i]);}

################## Фильтрация всех POST и GET #######################################
function filter_sf(&$sf_array)
{
while (list ($X,$D) = each ($sf_array)):
$sf_array[$X] = limpiarez(mysql_escape_string(strip_tags(htmlspecialchars($D))));
endwhile;
}
filter_sf($_GET);
filter_sf($_POST);
#####################################################################################

function anti_sql()
{
$check = html_entity_decode( urldecode( $_SERVER['REQUEST_URI'] ) );
$check = str_replace( "", "/", $check );

$check = mysql_real_escape_string($str);
$check = trim($str);
$check = array("AND","UNION","SELECT","WHERE","INSERT","UPDATE","DELETE","OUTFILE","FROM","OR","SHUTDOWN","CHANGE","MODIFY","RENAME","RELOAD","ALTER","GRANT","DROP","CONCAT","cmd","exec");
$check = str_replace($check,"",$str);

if( $check )
{
if((strpos($check, '<')!==false) || (strpos($check, '>')!==false) || (strpos($check, '"')!==false) || (strpos($check,"'")!==false) || (strpos($check, '*')!==false) || (strpos($check, '(')!==false) || (strpos($check, ')')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) )
{
$prover = true;
}

if((strpos($check, 'src')!==false) || (strpos($check, 'img')!==false) || (strpos($check, 'OR')!==false) || (strpos($check, 'Image')!==false) || (strpos($check, 'script')!==false) || (strpos($check, 'javascript')!==false) || (strpos($check, 'language')!==false) || (strpos($check, 'document')!==false) || (strpos($check, 'cookie')!==false) || (strpos($check, 'gif')!==false) || (strpos($check, 'png')!==false) || (strpos($check, 'jpg')!==false) || (strpos($check, 'js')!==false) )
{
$prover = true;
}

}

if (isset($prover))
{
die( "Попытка атаки на сайт или введены запрещённые символы!" );
return false;
exit;
}
}
anti_sql();

}
Народ! Кто пользуется данным кодом защиты от инъекций? Я заливаю его себе в индекс - и у меня куча ошибок вылазит!! :(
 
AriCosmo
Участник
Сообщения
515
Реакции
115
Skype
  • #5.103
skroliks написал(а):
Код:
if($_GET['menu']!='admin4ik' && 'support'){
function limpiarez($mensaje){
$mensaje = htmlspecialchars(trim($mensaje));
$mensaje = str_replace("'","&prime;",$mensaje);
$mensaje = str_replace(";","&brvbar;",$mensaje);
$mensaje = str_replace("$"," USD ",$mensaje);
$mensaje = str_replace("<","&lang;",$mensaje);
$mensaje = str_replace(">","&rang;",$mensaje);
$mensaje = str_replace('"',"&rdquo;",$mensaje);
$mensaje = str_replace("%27"," ",$mensaje);
$mensaje = str_replace("0x29"," ",$mensaje);
$mensaje = str_replace("&amp amp ","&",$mensaje);
return $mensaje;
}

foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=limpiarez($HTTP_POST_VARS[$i]);}
foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=limpiarez($HTTP_GET_VARS[$i]);}
foreach($_POST as $i => $value){$_POST[$i]=limpiarez($_POST[$i]);}
foreach($_GET as $i => $value){$_GET[$i]=limpiarez($_GET[$i]);}
foreach($_COOKIE as $i => $value){$_COOKIE[$i]=limpiarez($_COOKIE[$i]);}


foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=stripslashes($HTTP_POST_VARS[$i]);}
foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=stripslashes($HTTP_GET_VARS[$i]);}
foreach($_POST as $i => $value){$_POST[$i]=stripslashes($_POST[$i]);}
foreach($_GET as $i => $value){$_GET[$i]=stripslashes($_GET[$i]);}
foreach($_COOKIE as $i => $value){$_COOKIE[$i]=stripslashes($_COOKIE[$i]);}

################## Фильтрация всех POST и GET #######################################
function filter_sf(&$sf_array)
{
while (list ($X,$D) = each ($sf_array)):
$sf_array[$X] = limpiarez(mysql_escape_string(strip_tags(htmlspecialchars($D))));
endwhile;
}
filter_sf($_GET);
filter_sf($_POST);
#####################################################################################

function anti_sql()
{
$check = html_entity_decode( urldecode( $_SERVER['REQUEST_URI'] ) );
$check = str_replace( "", "/", $check );

$check = mysql_real_escape_string($str);
$check = trim($str);
$check = array("AND","UNION","SELECT","WHERE","INSERT","UPDATE","DELETE","OUTFILE","FROM","OR","SHUTDOWN","CHANGE","MODIFY","RENAME","RELOAD","ALTER","GRANT","DROP","CONCAT","cmd","exec");
$check = str_replace($check,"",$str);

if( $check )
{
if((strpos($check, '<')!==false) || (strpos($check, '>')!==false) || (strpos($check, '"')!==false) || (strpos($check,"'")!==false) || (strpos($check, '*')!==false) || (strpos($check, '(')!==false) || (strpos($check, ')')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) )
{
$prover = true;
}

if((strpos($check, 'src')!==false) || (strpos($check, 'img')!==false) || (strpos($check, 'OR')!==false) || (strpos($check, 'Image')!==false) || (strpos($check, 'script')!==false) || (strpos($check, 'javascript')!==false) || (strpos($check, 'language')!==false) || (strpos($check, 'document')!==false) || (strpos($check, 'cookie')!==false) || (strpos($check, 'gif')!==false) || (strpos($check, 'png')!==false) || (strpos($check, 'jpg')!==false) || (strpos($check, 'js')!==false) )
{
$prover = true;
}

}

if (isset($prover))
{
die( "Попытка атаки на сайт или введены запрещённые символы!" );
return false;
exit;
}
}
anti_sql();

}
Народ! Кто пользуется данным кодом защиты от инъекций? Я заливаю его себе в индекс - и у меня куча ошибок вылазит!! :(
Скинь пример ошибок
 
skroliks
PHP, MySQL, CSS
Участник
Сообщения
280
Реакции
46
  • #5.104
Diknoa написал(а):
Скинь пример ошибок
Код:
Notice: Undefined variable: HTTP_POST_VARS in /home/i/index.php on line 21 Warning: Invalid argument supplied for foreach() in /home/i/index.php on line 21 
Notice: Undefined variable: HTTP_GET_VARS in /home/i/index.php on line 22 Warning: Invalid argument supplied for foreach() in /home/i/index.php on line 22 
Notice: Undefined variable: HTTP_POST_VARS in /home/i/index.php on line 28 Warning: Invalid argument supplied for foreach() in /home/i/index.php on line 28 
Notice: Undefined variable: HTTP_GET_VARS in /home/i/index.php on line 29 Warning: Invalid argument supplied for foreach() in /home/i/index.php on line 29 Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /home/i/index.php on line 38 Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /home/i/index.php on line 38 
Notice: Undefined variable: str in /home/i/index.php on line 50 Deprecated: mysql_real_escape_string(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/i/index.php on line 50 
Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in /home/i/index.php on line 50 
Warning: mysql_real_escape_string(): A link to the server could not be established in /home/i/index.php on line 50 
Notice: Undefined variable: str in /home/i/index.php on line 51 
Notice: Undefined variable: str in /home/i/index.php on line 53
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #5.105
skroliks написал(а):
Код:
Notice: Undefined variable: HTTP_POST_VARS in /home/i/index.php on line 21 Warning: Invalid argument supplied for foreach() in /home/i/index.php on line 21
Notice: Undefined variable: HTTP_GET_VARS in /home/i/index.php on line 22 Warning: Invalid argument supplied for foreach() in /home/i/index.php on line 22
Notice: Undefined variable: HTTP_POST_VARS in /home/i/index.php on line 28 Warning: Invalid argument supplied for foreach() in /home/i/index.php on line 28
Notice: Undefined variable: HTTP_GET_VARS in /home/i/index.php on line 29 Warning: Invalid argument supplied for foreach() in /home/i/index.php on line 29 Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /home/i/index.php on line 38 Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /home/i/index.php on line 38
Notice: Undefined variable: str in /home/i/index.php on line 50 Deprecated: mysql_real_escape_string(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/i/index.php on line 50
Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in /home/i/index.php on line 50
Warning: mysql_real_escape_string(): A link to the server could not be established in /home/i/index.php on line 50
Notice: Undefined variable: str in /home/i/index.php on line 51
Notice: Undefined variable: str in /home/i/index.php on line 53
Код:
Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in /home/i/index.php on line 50
Warning: mysql_real_escape_string(): A link to the server could not be established in /home/i/index.php on line 50
---------------
Ты вставляешь этот код до подключения к БД, вот и появляется ошибка.

Код:
Notice: Undefined variable: str in /home/i/index.php on line 51 
Notice: Undefined variable: str in /home/i/index.php on line 53
---------------
В функции anti_sql() используется переменная $str, но она нигде не определена и по сути эта функция работает с неопределенной, пустой переменной, я думаю так не должно быть

Код:
Notice: Undefined variable: HTTP_POST_VARS in /home/i/index.php on line 21 Warning: Invalid argument supplied for foreach() in /home/i/index.php on line 21
Notice: Undefined variable: HTTP_GET_VARS in /home/i/index.php on line 22 Warning: Invalid argument supplied for foreach() in /home/i/index.php on line 22
Notice: Undefined variable: HTTP_POST_VARS in /home/i/index.php on line 28 Warning: Invalid argument supplied for foreach() in /home/i/index.php on line 28
Notice: Undefined variable: HTTP_GET_VARS in /home/i/index.php on line 29 Warning: Invalid argument supplied for foreach() in /home/i/index.php on line 29 Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /home/i/index.php on line 38 Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /home/i/index.php on line 38
---------------
$HTTP_POST_VARS и $HTTP_GET_VARS - это устаревшие названия для $_POST и $_GET. Ниже у тебя идет обработка этих массивов, поэтому строки с $HTTP_POST_VARS и $HTTP_GET_VARS можно удалить
 
skroliks
PHP, MySQL, CSS
Участник
Сообщения
280
Реакции
46
  • #5.106
1. $HTTP_POST_VARS и $HTTP_GET_VARS - это устаревшие названия для $_POST и $_GET. Ниже у тебя идет обработка этих массивов, поэтому строки с $HTTP_POST_VARS и $HTTP_GET_VARS можно удалить

А если $HTTP_POST_VARS и $HTTP_GET_VARS просто заменить на $_POST и $_GET?

2. В функции anti_sql() используется переменная $str, но она нигде не определена и по сути эта функция работает с неопределенной, пустой переменной, я думаю так не должно быть

А что тогда с ней делать? тоже просто удалить?
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #5.107
skroliks написал(а):
1. $HTTP_POST_VARS и $HTTP_GET_VARS - это устаревшие названия для $_POST и $_GET. Ниже у тебя идет обработка этих массивов, поэтому строки с $HTTP_POST_VARS и $HTTP_GET_VARS можно удалить

А если $HTTP_POST_VARS и $HTTP_GET_VARS просто заменить на $_POST и $_GET?

2. В функции anti_sql() используется переменная $str, но она нигде не определена и по сути эта функция работает с неопределенной, пустой переменной, я думаю так не должно быть

А что тогда с ней делать? тоже просто удалить?
-> А если $HTTP_POST_VARS и $HTTP_GET_VARS просто заменить на $_POST и $_GET?
У тебя чуть ниже уже есть такие строки, где переменные заменены

-> А что тогда с ней делать? тоже просто удалить?
Она какая-то странная, видимо неправильно написана, вместо каких-то $check там должны быть $str.
В таком виде никакого смысла в этой функции я не вижу.
 
skroliks
PHP, MySQL, CSS
Участник
Сообщения
280
Реакции
46
  • #5.108
MegaGoblin написал(а):
-> А если $HTTP_POST_VARS и $HTTP_GET_VARS просто заменить на $_POST и $_GET?
У тебя чуть ниже уже есть такие строки, где переменные заменены

-> А что тогда с ней делать? тоже просто удалить?
Она какая-то странная, видимо неправильно написана, вместо каких-то $check там должны быть $str.
В таком виде никакого смысла в этой функции я не вижу.
А как же тогда другие люди этот код себе пихают и у них якобы все работает?? хм..
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #5.109
skroliks написал(а):
А как же тогда другие люди этот код себе пихают и у них якобы все работает?? хм..
"ой ошибка, отключу я вывод ошибок и будет все хорошо" - они видимо по такому принципу...
 
skroliks
PHP, MySQL, CSS
Участник
Сообщения
280
Реакции
46
  • #5.110
MegaGoblin написал(а):
"ой ошибка, отключу я вывод ошибок и будет все хорошо" - они видимо по такому принципу...
Ахахахххх! пфффф - я так сразу почему то и подумал :)

Но я то перфекционист - люблю когда все как надо ;)
 
skroliks
PHP, MySQL, CSS
Участник
Сообщения
280
Реакции
46
  • #5.111
MegaGoblin написал(а):
-> А если $HTTP_POST_VARS и $HTTP_GET_VARS просто заменить на $_POST и $_GET?
У тебя чуть ниже уже есть такие строки, где переменные заменены

-> А что тогда с ней делать? тоже просто удалить?
Она какая-то странная, видимо неправильно написана, вместо каких-то $check там должны быть $str.
В таком виде никакого смысла в этой функции я не вижу.
foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=limpiarez($HTTP_POST_VARS[$i]);}
foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=limpiarez($HTTP_GET_VARS[$i]);}
foreach($_POST as $i => $value){$_POST[$i]=limpiarez($_POST[$i]);}
foreach($_GET as $i => $value){$_GET[$i]=limpiarez($_GET[$i]);}

А может $HTTP_POST_VARS и $HTTP_GET_VARS это защита от ввода в строку браузера, а $_POST и $_GET это от ввода на самом сайте? Или бред?
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #5.112
skroliks написал(а):
foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=limpiarez($HTTP_POST_VARS[$i]);}
foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=limpiarez($HTTP_GET_VARS[$i]);}
foreach($_POST as $i => $value){$_POST[$i]=limpiarez($_POST[$i]);}
foreach($_GET as $i => $value){$_GET[$i]=limpiarez($_GET[$i]);}

А может $HTTP_POST_VARS и $HTTP_GET_VARS это защита от ввода в строку браузера, а $_POST и $_GET это от ввода на самом сайте? Или бред?
http://php.net/manual/ru/reserved.variables.post.php
 
skroliks
PHP, MySQL, CSS
Участник
Сообщения
280
Реакции
46
  • #5.114
Такс.. убрал везде лишние $HTTP_POST_VARS и $HTTP_GET_VARS и вставил код после подключения к бд:
вот что осталось из ошибок:

Notice: Undefined variable: str in /home/i/index.php on line 83
Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in /home/i/index.php on line 83
Warning: mysql_real_escape_string(): A link to the server could not be established in /home/i/index.php on line 83
Notice: Undefined variable: str in /home/i/index.php on line 84
Notice: Undefined variable: str in /home/i/index.php on line 86


вот со str тут понятно и не понятно что делать, а вот "после подключения к бд" - что именно это должно быть? может в индексе и нет такого?
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #5.115
skroliks написал(а):
Такс.. убрал везде лишние $HTTP_POST_VARS и $HTTP_GET_VARS и вставил код после подключения к бд:
вот что осталось из ошибок:

Notice: Undefined variable: str in /home/i/index.php on line 83
Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in /home/i/index.php on line 83
Warning: mysql_real_escape_string(): A link to the server could not be established in /home/i/index.php on line 83
Notice: Undefined variable: str in /home/i/index.php on line 84
Notice: Undefined variable: str in /home/i/index.php on line 86


вот со str тут понятно и не понятно что делать, а вот "после подключения к бд" - что именно это должно быть? может в индексе и нет такого?

Подключение к БД это строка:
$db = new db (......);

На фермах надо писать вместо (хз точно ли надо это менять)
mysql_real_escape_string($stroka)
Это
$db->RealEscape($stroka)
 
skroliks
PHP, MySQL, CSS
Участник
Сообщения
280
Реакции
46
  • #5.116
MegaGoblin написал(а):
Подключение к БД это строка:
$db = new db (......);

На фермах надо писать вместо (хз точно ли надо это менять)
mysql_real_escape_string($stroka)
Это
$db->RealEscape($stroka)
Подключение к БД это строка:
$db = new db (......);


Дело в том, что сказано что данный код надо пихать в корневой индекс, НО - там нет такой строки $db = new db (......); и вообще обращений к бд..

На фермах надо писать вместо
mysql_real_escape_string($stroka)
Это
$db->RealEscape($stroka)


Вот тут не совсем понял - надо вместо $str везде прописать $stroka?
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #5.117
skroliks написал(а):

Подключение к БД это строка:
$db = new db (......);


Дело в том, что сказано что данный код надо пихать в корневой индекс, НО - там нет такой строки $db = new db (......); и вообще обращений к бд..

На фермах надо писать вместо
mysql_real_escape_string($stroka)
Это
$db->RealEscape($stroka)


Вот тут не совсем понял - надо вместо $str везде прописать $stroka?

Подключение к БД должно быть в индексном файле (сделай пойиск по фразе 'new')

>> Вот тут не совсем понял - надо вместо $str везде прописать $stroka?
Менять не надо, я показал, что меняется лишь название функции, а ее аргумент не трогай... если там стоит $str, то его и оставляй
 
skroliks
PHP, MySQL, CSS
Участник
Сообщения
280
Реакции
46
  • #5.118
MegaGoblin написал(а):
Подключение к БД должно быть в индексном файле (сделай пойиск по фразе 'new')

>> Вот тут не совсем понял - надо вместо $str везде прописать $stroka?
Менять не надо, я показал, что меняется лишь название функции, а ее аргумент не трогай... если там стоит $str, то его и оставляй
Нашел, но я как раз после нее код и вставил
# База данных
$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);

Все равно ошибка, как я писал не исчезла..

А $str я так понял ошибка так и останется и с ней ничего не поделаешь?
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #5.119
skroliks написал(а):
Нашел, но я как раз после нее код и вставил
# База данных
$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);

Все равно ошибка, как я писал не исчезла..

А $str я так понял ошибка так и останется и с ней ничего не поделаешь?
Пробовал поменять на $db->RealEscape($str) ?
 
skroliks
PHP, MySQL, CSS
Участник
Сообщения
280
Реакции
46
  • #5.120
MegaGoblin написал(а):
Пробовал поменять на $db->RealEscape($str) ?
Fatal error: Call to undefined function RealEscape() in /home/i/index.php on line 83 - вообще сайт не открывается :(
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху