Skip to content

Commit dd0e1e6

Browse files
4141983941419839
41419839
authored and
41419839
committed
Removida a vulnerabilidade do site à SQL Injection.
1 parent 3727400 commit dd0e1e6

File tree

4 files changed

+17
-11
lines changed

4 files changed

+17
-11
lines changed

addStrike.php

+5-3
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,16 @@
88
else {
99
header("location:./");
1010
}
11-
function tryAddStrike($name, $damage, $type){
12-
$result = mysql_query("SELECT * FROM `pokemon`.`golpes` WHERE name = '$name' LIMIT 1");
11+
function tryAddStrike($name, $damage, $type){
12+
$ename = mysql_real_escape_string($name);
13+
$edamage = mysql_real_escape_string($damage);
14+
$result = mysql_query("SELECT * FROM `pokemon`.`golpes` WHERE name = '$ename' LIMIT 1");
1315

1416
if(mysql_num_rows($result) >= 1){ //Se ja existir o golpe
1517
$_SESSION['error'] = 1;
1618
header("location:acp.php");
1719
} else {
18-
$result = mysql_query("INSERT INTO `pokemon`.`golpes` (`name`, `damage`, `type`) VALUES ('$name', '$damage', '$type')");
20+
$result = mysql_query("INSERT INTO `pokemon`.`golpes` (`name`, `damage`, `type`) VALUES ('$ename', '$edamage', '$type')");
1921
$_SESSION['error'] = 2; //Apesar do nome da variável da sessão, é uma instrução apenas
2022
header("location:acp.php");
2123
}

editStrike.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@
99
header("location:./");
1010
}
1111
function tryEditStrike($id, $name, $damage, $type){
12-
12+
$ename = mysql_real_escape_string($name);
13+
$edamage = mysql_real_escape_string($damage);
1314
$result = mysql_query("SELECT * FROM `pokemon`.`golpes` WHERE id = '$id' LIMIT 1");
1415

1516
if(mysql_num_rows($result) == 0){ //Se não existir golpe com este ID
1617
$_SESSION['error2'] = 3;
1718
header("location:acp.php");
1819
} else {
19-
$result = mysql_query("UPDATE `pokemon`.`golpes` SET `name` = '$name', `damage` = '$damage', `type` = '$type' WHERE `id` = '$id'");
20+
$result = mysql_query("UPDATE `pokemon`.`golpes` SET `name` = '$ename', `damage` = '$edamage', `type` = '$type' WHERE `id` = '$id'");
2021
$_SESSION['error2'] = 4; //Apesar do nome da variável da sessão, é uma instrução apenas
2122
header("location:acp.php");
2223
}

golpes.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<?php
2-
require 'mysqlcon.php';
2+
require 'mysqlcon.php';
33
$a = $_GET["golpe"];
4-
$sth = mysql_query("SELECT `name` FROM `pokemon`.`golpes` where name like '" . $a."%'");
4+
$ea = mysql_real_escape_string($a);
5+
$sth = mysql_query("SELECT `name` FROM `pokemon`.`golpes` where name like '" . $ea."%'");
56
$rows = array();
67
while($r = mysql_fetch_assoc($sth)) {
78
$rows[] = $r;

validateRegister.php

+6-4
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,22 @@
1616
else {
1717
header("location:./");
1818
}
19-
function tryRegister($user, $email, $pass){
20-
$result = mysql_query("SELECT * FROM `pokemon`.`usuarios` WHERE user = '$user' LIMIT 1");
19+
function tryRegister($user, $email, $pass){
20+
$euser = mysql_real_escape_string($user);
21+
$eemail = mysql_real_escape_string($email);
22+
$result = mysql_query("SELECT * FROM `pokemon`.`usuarios` WHERE user = '$euser' LIMIT 1");
2123

2224
if(mysql_num_rows($result) >= 1){ //Se ja existir o usuário
2325
$_SESSION['error'] = 2;
2426
header("location:register.php");
2527
} else {
26-
$result = mysql_query("SELECT * FROM `pokemon`.`usuarios` WHERE email = '$email' LIMIT 1");
28+
$result = mysql_query("SELECT * FROM `pokemon`.`usuarios` WHERE email = '$eemail' LIMIT 1");
2729
if(mysql_num_rows($result) >= 1){ //Se ja existir o email
2830
$_SESSION['error'] = 3;
2931
header("location:register.php");
3032
} else { //Se a conta estiver 100% apta ao registro
3133
//Inserimos a conta no banco de dados
32-
$result = mysql_query("INSERT INTO `pokemon`.`usuarios` (`user`, `email`, `password`) VALUES ('$user', '$email', '$pass')");
34+
$result = mysql_query("INSERT INTO `pokemon`.`usuarios` (`user`, `email`, `password`) VALUES ('$euser', '$eemail', '$pass')");
3335
$_SESSION['error'] = 2; //Apesar do nome da variável da sessão, é uma instrução apenas
3436
header("location:login.php");
3537
}

0 commit comments

Comments
 (0)