Bonjour
J'utilise RIPS 0.55 pour tester la sécurité de mon code mais j'ai toujours une alerte concernant echo

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?php
 
/**
 * Function to query information based on 
 * a parameter: in this case, location.
 *
 */
 
if (isset($_POST['submit'])) 
{
 
	try 
	{
 
		require "../config.php";
		require "../common.php";
 
		$connection = new PDO($dsn, $username, $password, $options);
 
		$sql = "SELECT * 
						FROM users
						WHERE location = :location";
 
		$location = $_POST['location'];
 
		$statement = $connection->prepare($sql);
		$statement->bindParam(':location', $location, PDO::PARAM_STR);
		$statement->execute();
 
		$result = $statement->fetchAll();
	}
 
	catch(PDOException $error) 
	{
		echo $sql . "<br>" . $error->getMessage();
	}
}
?>
<?php require "templates/header.php"; ?>
 
<?php  
if (isset($_POST['submit'])) 
{
	if ($result && $statement->rowCount() > 0) 
	{ ?>
		<h2>Results</h2>
 
		<table>
			<thead>
				<tr>
					<th>#</th>
					<th>First Name</th>
					<th>Last Name</th>
					<th>Email Address</th>
					<th>Age</th>
					<th>Location</th>
					<th>Date</th>
				</tr>
			</thead>
			<tbody>
	<?php 
		foreach ($result as $row) 
		{ ?>
			<tr>
				<td><?php echo escape($row["id"]); ?></td>
				<td><?php echo escape($row["firstname"]); ?></td>
				<td><?php echo escape($row["lastname"]); ?></td>
				<td><?php echo escape($row["email"]); ?></td>
				<td><?php echo escape($row["age"]); ?></td>
				<td><?php echo escape($row["location"]); ?></td>
				<td><?php echo escape($row["date"]); ?> </td>
			</tr>
		<?php 
		} ?>
		</tbody>
	</table>
	<?php 
	} 
	else 
	{ ?>
		<blockquote>No results found for <?php echo escape($_POST['location']); ?>.</blockquote>
	<?php
	} 
}?> 
 
<h2>Find user based on location</h2>
 
<form method="post">
	<label for="location">Location</label>
	<input type="text" id="location" name="location">
	<input type="submit" name="submit" value="View Results">
</form>
 
<a href="index.php">Back to home</a>
 
<?php require "templates/footer.php"; ?>
avec la fonction escape
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function escape($html)
{
	return htmlspecialchars($html, ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8");
}
Par exemple RIPS me dit qu'il y a potentiellement un risque d'intrusion à la ligne <td><?php echo escape($row["firstname"]); ?></td> alors que je pensais que la fonction escape suffit
Merci pour votre aide