anti bot

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3

Marcel Groot

Marcel Groot

13/11/2015 20:22:37
Quote Anchor link
Verder mis er beveiliging tegen SQL-injection en ben je nu behoorlijk goed hackbaar:

[link]http://www.phpfreaks.com/tutorial/php-security[/link]

Ik zit dit te lezen maar zie niet hoe ik mijn script ermee kan beveiligen.
 
PHP hulp

PHP hulp

29/04/2024 02:44:26
 
- Ariën  -
Beheerder

- Ariën -

13/11/2015 20:26:01
Quote Anchor link
Ik heb in dit topic al een voorbeeld gegeven, en deze middag nog daarheen verwezen. Lees mijn berichten nog eens terug.....
 
Marcel Groot

Marcel Groot

14/11/2015 11:42:31
Quote Anchor link


Toevoeging op 14/11/2015 11:43:03:

Marcel Groot op 14/11/2015 11:42:31:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php session_start();
function
quote_smart($value) {
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}

if(version_compare(phpversion(),"4.3.0") == "-1") {
return mysql_escape_string($value);
}
else {
return mysql_real_escape_string($value);
}
}

if(isset($_POST['Submit'])){
    // code for check server side validation
    if(empty($_SESSION['captcha_code'] ) || strcasecmp($_SESSION['captcha_code'], $_POST['captcha_code']) != 0){  
        $msg="<span style='color:red'>The Validation code does not match!</span>";// Captcha verification is incorrect.        
    }else{// Captcha verification is Correct. Final Code Execute here!        
        $msg="<span style='color:green'>The Validation code has been matched.</span>";    
$servername = "";
$username = "";
$password = "";
$dbname = "user";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}


$sql = "INSERT INTO students (student_name, student_email, student_city)
    VALUES(
        '"
.$conn->real_escape_string($_POST["student_name"])."',
        '"
.$conn->real_escape_string($_POST["student_email"])."',
        '"
.$conn->real_escape_string($_POST["student_city"])."'
    )"
;

if ($conn->query($sql) === TRUE) {
echo "<script type= 'text/javascript'>alert('New record created successfully');</script>";
}
else {
echo "<script type= 'text/javascript'>alert('Error: " . $sql . "<br>" . $conn->error."');</script>";
}


$collection= array('orange', 'apple', 'grapefruit', 'banana', 'watermelon');
$fruit = array('orange', 'apple', 'grapefruit', 'banana', 'watermelon');
if(isset($_POST['submit']))
{
   $fruit = $_POST['fruit'];
   $values = array($collection);
    foreach($collection as $selection )
    {
     if(in_array($selection, $fruit))
            {
$values[ $selection ] = 1;  }
        else
            { $values[ $selection ] = 0;  }
   }
// end of foreach.
 
    // MySQL statement.    

$insert = "INSERT INTO table_fruit (orange, apple, grapefruit, banana, watermelon)
          VALUES ({$values['orange']}, {$values['apple']}, {$values['grapefruit']}, {$values['banana']}, {$values['watermelon']})"
;
// MySQL statement to execute the INSERT statement above.          
mysqli_query($conn, $insert) or die('<br/>Error reading database: '.mysqli_error($dbconnect));
mysqli_close($conn);
}
  // End of, if statement from the button check
;
}    
    }
    
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
<html>
    <
head>

         <
meta charset="utf-8">
<
title>Testwebsite</title>
<
script type='text/javascript'>
function
refreshCaptcha(){
    var
img = document.images['captchaimg'];
    img.src = img.src.substring(0,img.src.lastIndexOf("?"))+"?rand="+Math.random()*1000;
}

</script>

    </head>
    <body>
<div>
<form action="" method="post" name="form1" id="form1" >
           <input type="checkbox" name="fruit[Orange]" value="orange"> Orange
           <input type="checkbox" name="fruit[Apple]" value="apple"> Apple
           <input type="checkbox" name="fruit[Grapefruit]" value="grapefruit"> Grapefruit
           <input type="checkbox" name="fruit[Banana]" value="banana"> Banana
           <input type="checkbox" name="fruit[Watermelon]" value="watermelon"> Watermelon
           <br>
<label>Student Name :</label>
<input type="text" name="student_name" id="name" required="required" placeholder="Please Enter Name"/><br /><br />
<label>Student Email :</label>
<input type="email" name="student_email" id="email" required="required" placeholder="[email protected]"/><br/><br />
<label>Student City :</label>
<input type="text" name="student_city" id="city" required="required" placeholder="Please Enter Your City"/><br/><br />
</div>
  
<meta charset="utf-8">
<script type='text/javascript'>
function refreshCaptcha(){
    var img = document.images['captchaimg'];
    img.src = img.src.substring(0,img.src.lastIndexOf("?"))+"?rand="+Math.random()*1000;
}
</script>
    <?php if(isset($msg)){?>
<?php echo $msg;?></td>
    <?php } ?>
Validation code:
<img src="captcha.php?rand=<?php echo rand();?>" id='captchaimg'><br>
<label for='message'>Enter the code above here :</label>
<br>
        <input id="captcha_code" name="captcha_code" type="text">
        <br>
        Can't read the image? click <a href='javascript: refreshCaptcha();'>here</a> to refresh.</td>
<input name="Submit" type="submit" value="Submit">
</form>
</body>
</html>
?>



Dus zo ziet het er goed uit?
Gewijzigd op 14/11/2015 11:45:26 door Marcel Groot
 
- Ariën  -
Beheerder

- Ariën -

14/11/2015 11:57:17
Quote Anchor link
Ziet er goed uit, ik zou de laatste queries voor je fruit ook even herschrijven naar het object-georiënteerde MySQLi.
 
Marcel Groot

Marcel Groot

14/11/2015 13:22:13
Quote Anchor link
Bovenste blok regel 12 en 45 zijn het zelfde moet regel 45 niet weg? en hoezo herschrijven het werkt goed?
Gewijzigd op 14/11/2015 13:23:42 door Marcel Groot
 
- Ariën  -
Beheerder

- Ariën -

14/11/2015 17:12:06
Quote Anchor link
Consequente code zorgt altijd voor minder frustraties. ;-)
 

Pagina: « vorige 1 2 3



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.