Обучение/Помощь новичкам | Уязвимости sql/get/post
Тема закрыта by
СУЗУНЭ ХОРИКИТА
Причина: Решено.
Причина: Решено.
php
$q_1=mysql_fetch_row(mysql_query("select count(*) FROM `inventory` WHERE `account` = '".$_SESSION['id']."' and `set` = '1' and `odeta` = 'da'"),0); $q_2=mysql_fetch_row(mysql_query("select count(*) FROM `inventory` WHERE `account` = '".$_SESSION['id']."' and `set` = '2' and `odeta` = 'da'"),0); $q_3=mysql_fetch_row(mysql_query("select count(*) FROM `inventory` WHERE `account` = '".$_SESSION['id']."' and `set` = '3' and `odeta` = 'da'"),0); ###Этап ботов $tap = mysql_fetch_array(mysql_query("SELECT * FROM `battle_3` WHERE `Id_ba` = '".$account['banda']."' and `koll` > '0' and `hp` > '0' LIMIT 1")); #Боты бьют банду $battlemobs=mysql_query("SELECT * FROM `battle_3` WHERE `Id_ba`='".$account['banda']."' and `tap` = '".$tap['tap']."'"); while($resmob=mysql_fetch_assoc($battlemobs)){ $attackcol=floor((time()-$resmob['last_damag'])/$resmob['damag_every_sec']); for($i=1;$i<=$attackcol;$i++){ $damagmob =($resmob['str'] - $account['dexterity'])*$resmob['koll']; if($damagmob <= 0){$damagmob = 10*$resmob['koll'];} $hpdm=$account['hp']-$damagmob; mysql_query("UPDATE `account` SET `hp`='".$hpdm."' WHERE `banda`='".$resmob['Id_ba']."' and `trup` = '0'"); mysql_query("INSERT INTO `battle_log` (`banda`, `mess`)VALUES('".$account['banda']."','<img src=\"/data/img/skill/attack.jpg\" width=\"10px\" height=\"10px\"><font color=\"ff2400\">".$resmob['name']." наносит ".$account['name']." ".$damagmob." урона!</font>')"); mysql_query("UPDATE `battle_3` SET `last_damag` = '".time()."' WHERE `Id_ba`='".$account['banda']."'"); } } php
if(isset($_GET['attack'])){ #####Ловим откат на удары if (time()-$account['battle_last_attack']<2){ mysql_query("INSERT INTO `battle_log`(`account`,`mess`,`banda`)VALUES('".$account['id']."','<img src=\"/data/img/skill/attack.jpg\" width=\"10px\" height=\"10px\"><font color=\"#3d8e2f\">Промах! старайтесь бить медленнее</font>','".$account['banda']."')"); header("Location: ?");exit;} #Изначальный урон $Uron = $account['power']; #Сеты ## + шанс крита от 1 и 2 сета $bon_krit = '0'; if($q_1[0] >= 2){$bon_krit = '5';} if($q_2[0] >= 2){$bon_krit = '10';} # + % к урону от 3 сетов if($q_1[0] >= 4){$Doma = $Uron + floor(($Uron/100)*15);} if($q_2[0] >= 4){$Doma = $Uron + floor(($Uron/100)*250);} if($q_3[0] >= 4){$Doma = $Uron + floor(($Uron/100)*15);} ### 2 сет умножает на 2 if($q_2[0] >= 6){$rand_2 = rand(0,100);if($rand_2 < 20){$Doma = $Doma*2;}} ### 3 сет умножает на 2 if($q_3[0] >= 6){$rand_3 = rand(0,100);if($rand_3 < 20){$Doma = $Doma*2;}} ###krit if(($account['krit_sila'] + $bon_krit) >= rand(0,101)){$Doma = ($Doma/$account['krit'])*100;} if($Doma <= 0){$Doma = $account['power'];} $Domag = $Doma - $mob['def']; if($Domag <= 0){$Domag = $account['lvl']*2;} ####Если мы убили моба + Сет на хил 1 и 3 $hill = '0'; if($q_1[0] >= '4'){ $rand = rand(0,100); if($rand <= 20){$hill = floor($mob['hp_max']/2);}} if($q_3[0] >= '4'){ $rand = rand(0,100); if($rand <= 20){$hill = floor($mob['hp_max']/3);}} ####Если мы убили моба if(($mob['hp'] <= $Domag or $mob['hp'] <= 0) && $mob2['koll'] >= 1){ if($hill >= '1'){ mysql_query("UPDATE `account` SET `hp` = '".$account['hp']."' + '".$hill."' WHERE `id`='".$account['id']."'"); mysql_query("INSERT INTO `battle_log`(`account`,`mess`,`banda`)VALUES('".$account['id']."','<font color=\"#3d8e2f\">".$account['name']." исцелился на ".$hill." </font>','".$account['banda']."')"); } mysql_query("UPDATE `battle_3` SET `hp`= '".$mob['hp_max']."', `koll`= '".$mob['koll']."' - 1 WHERE `id`='".$account['battle_attack']."'"); }else{ mysql_query("UPDATE `battle_3` SET `hp`= '".$mob['hp']."' - '".$Domag."' WHERE `id`='".$account['battle_attack']."'"); } mysql_query("UPDATE `account` SET `battle_last_attack` = '".time()."' WHERE `id`='".$account['id']."'"); mysql_query("INSERT INTO `battle_log`(`account`,`mess`,`banda`)VALUES('".$account['id']."','<img src=\"/data/img/skill/attack.jpg\" width=\"10px\" height=\"10px\"><font color=\"#3d8e2f\">".$account['name']." бьёт ".$mob['name']." на ".$Domag." урона!</font>','".$account['banda']."')"); header("Location: ?"); exit; } php
Вообщем то я 100% пишу г + с багами и т.п. Можете показать есть ли тут дыры, а точнее приведите пример заранее спс
GET, POST?
________
посл. ред. 16.06.2020 в 17:21; всего 2 раз(а); by NOeasyKiDD
________
посл. ред. 16.06.2020 в 17:21; всего 2 раз(а); by NOeasyKiDD
NOeasyKiDD , Не ну блин, я серьезно
Asuna , Я Не знаток в этом деле, Get post фильтруй...
И забудь mysql хотя-бы переходи на mysqli. Могу скрипт дать который автоматом перепишет.
________
посл. ред. 16.06.2020 в 17:28; всего 1 раз(а); by NOeasyKiDD
И забудь mysql хотя-бы переходи на mysqli. Могу скрипт дать который автоматом перепишет.
________
посл. ред. 16.06.2020 в 17:28; всего 1 раз(а); by NOeasyKiDD
NOeasyKiDD , strip_tags + stripslashes ??
Asuna (16.06.2020 в 17:26) NOeasyKiDD , strip_tags + stripslashes ??
php
function in_t($a){ global $db; $a = $db->real_escape_string(htmlspecialchars(trim($a))); return $a; } function int($a){ $a = abs(intval($a)); return $a; }
NOeasyKiDD , mysqli не нравиться. я работала с ним, не вижу +, быстрее? не сказала бы, если писать Г то оно и есть Г не суть на чем ты пишешь
NOeasyKiDD , мм, приведи пожалуйста пример, что можно сделать с данным мною джетом, чем он опасен? мне пжлй конкретный рабочий пример