Thanks Cups. That got it working. Here is what I have now:
PHP Code:
<?php
session_start();
require_once 'app_config.php';
require_once 'database_connection.php';
require_once 'clean_up.php';
$ip=$_SERVER['REMOTE_ADDR'];
//echo 'IP Address: '.$ip.'<br><br>';
$query = 'Select * from voted where ip = "'.$ip.'";';
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
if($num_rows < 1){ // if the user has not already voted
$q1 = mr_clean($_POST['q1']);
$q2 = mr_clean($_POST['q2']);
$q3 = mr_clean($_POST['q3']);
$q4 = mr_clean($_POST['q4']);
$q5 = mr_clean($_POST['q5']);
$q6 = mr_clean($_POST['q6']);
$q7 = mr_clean($_POST['q7']);
$q8 = mr_clean($_POST['q8']);
$fields = "voter_id, ";
$values = "'".$ip."', ";
if (!empty($q1))
{
$fields .= "a1,"; // add the commas here as strings
$values .= "'".$q1."',"; // ditto
}
if(!empty($q2))
{
$fields .= "a2,";
$values .= "'".$q2."',";
}
if(!empty($q3))
{
$fields .= "a3,";
$values .= "'".$q3."',";
}
if(!empty($q4))
{
$fields .= "a4,";
$values .= "'".$q4."',";
}
if(!empty($q5))
{
$fields .= "a5,";
$values .= "'".$q5."',";
}
if(!empty($q6))
{
$fields .= "a6,";
$values .= "'".$q6."',";
}
if(!empty($q7))
{
$fields .= "a7,";
$values .= "'".$q7."',";
}
if(!empty($q8))
{
$fields .= "a8,";
$values .= "'".$q8."',";
}
//echo "fields: ".$fields;
//echo " values: ".$values;
$survey_query = "INSERT INTO survey (" . rtrim($fields, ',') . ") VALUES (" .rtrim($values, ','). ");";
//echo "query: ".$survey_query;
$result = mysql_query($survey_query);
} //end if num < 1
?>
As far as the SQL injection attacks here is a function I created a while back. I just hadn't implemented it yet for simplicity reasons. Does this still cover most types of security issues?
PHP Code:
function mr_clean($dirty_string, $type = NULL){
$clean_string = trim($dirty_string);
// $clean_string = mysql_real_escape_string($dirty_string);
$clean_string = strip_tags($clean_string);
$clean_string = htmlspecialchars($clean_string);
if ($type == 'request'){
return filter_var($clean_string, FILTER_VALIDATE_INT);
}
return $clean_string;
}
Bookmarks