Da ich ein Neuling bin, dachte ich, dass ich aus Sicherheitsgründen verstehe, was ich tun muss, aber ich brauche immer noch Hilfe.php security mit Joomla
Ich habe ein Formular, das eine Reihe von Dingen über die Details einer Kamera aufnimmt. Wie der Name der Kamera und eine Reihe anderer Optionen, die Teil eines html select
sind. Ich verarbeite diese in php:
$db = &JFactory::getDBO();
if (isset($_POST['addcamera'])) {
//process changes to camera options
if (!empty($_POST['camera_type']) && !empty($_POST['camera_status']) && !empty($_POST['camera_name']) && !empty($_POST['camera_quality']) && !empty($_POST['email_notice']))
{
$add_name = JRequest::getVar('camera_name', 'Default Camera', 'post', 'STRING');
$add_quality = JRequest::getVar('camera_quality', '', 'post', 'STRING');
$add_motion_detection = JRequest::getVar('camera_status', '', 'post', 'STRING');
$add_email_notice = JRequest::getVar('email_notice', '', 'post', 'STRING');
$camera_type = JRequest::getVar('camera_type', '', 'post', 'STRING');
//and so on...
//then I add to DB
$query_insert_camera = "INSERT INTO #__cameras (camera_status, camera_name, camera_quality, email_notice, camera_type, camera_hash, camera_sensitivity, user_id) VALUES ('".$add_motion_detection."','".$add_name."','".$add_quality."','".$add_email_notice."','".$camera_type."','".$add_camera_hash."','".$add_sensitivity."','".$user->id."')";
$db->setQuery($query_insert_camera);
$db->query();
I Verwendung jquery Validierung für meine Formen und auf der PHP-Seite der Dinge zu tun, da ich Joomla verwende ich bin mit getVar: http://docs.joomla.org/Retrieving_and_Filtering_GET_and_POST_requests_with_JRequest::getVar. Ich glaube, dass ich mich vor XSS- und SQL-Angriffen beschütze, aber könnte jemand bestätigen, dass dies der richtige Ansatz ist?
Gibt es noch etwas, das ich vermisse?
Injektion: http: //en.wikipedia.org/wiki/SQL_injection, Handbuch: http: //docs.joomla.org/Accessing_the_database_using_JDatabase - "Vorbereiten der Abfrage" -Kopfzeile. –