Всем привет. Посмотрите пожалуйста и дайте совет, как защитить скрипт: PHP: <?phpsession_start();define ( 'DOMAIN', ' ' );define ( 'DATALIFEENGINE', true );define ( 'ROOT_DIR', dirname ( __FILE__ ) );define ( 'ENGINE_DIR', $_SERVER['DOCUMENT_ROOT'] . '/engine' );require_once (ENGINE_DIR . '/classes/plugins.class.php');require_once (ENGINE_DIR.'/data/dbconfig.php');function create_rezume_cabinet($user_id){ global $db; if(isset($_POST['f']) && isset($_POST['fieldsStorage'])){ try{ $data = trim($_POST['f']); $json_data = json_decode($data, true); if( isset($json_data[0][0]) && isset($json_data[0][1]) && isset($json_data[0][2]) && isset($json_data[0][3]) && isset($json_data[0][7]) ){ $fio = trim($json_data[0][0]).' '.trim($json_data[0][1]).' '.trim($json_data[0][2]); $position = trim($json_data[0][3]); $email = trim($json_data[0][7]); $q="SELECT * FROM " . USERPREFIX . "_rezume WHERE email='$email' AND user_id='$user_id' AND fio='$fio' AND position='$position'"; $sql = $db->query($q); $exists = false; while($row = $db->get_row($sql)){ $exists = true; } if($exists){ $q="UPDATE " . USERPREFIX . "_rezume SET data='$data', fieldsStorage='".$_POST["fieldsStorage"]."' WHERE email='$email' AND user_id='$user_id' AND fio='$fio' AND position='$position'"; $res = $db->query( $q ); }else{ $code = uniqid(); $q="INSERT INTO " . USERPREFIX . "_rezume (user_id, email, fio, position, data, code, fieldsStorage) VALUES ('$user_id', '$email', '$fio', '$position', '$data', '$code', '".$_POST["fieldsStorage"]."')"; $db->query( $q ); } } }catch(Exception $e){ } }}if(isset($_GET['email']) && trim($_GET['email']) !== ''){ $email = trim($_GET['email']); if(!filter_var($email, FILTER_VALIDATE_EMAIL)){ $ret['error']=array('message'=>"Некоректный email: ".$email.""); die(json_encode($ret)); } if(isset($_SESSION['dle_user_id']) && isset($_SESSION['dle_password'])){ create_rezume_cabinet($_SESSION['dle_user_id']); die(); } $q="SELECT * FROM " . USERPREFIX . "_users WHERE email='$email'"; $sql = $db->query( $q ); while ($row = $db->get_row($sql)){ $ret['error']=array('message'=>"Аккаунт ".$email." уже существует!"); die(json_encode($ret)); } $name = uniqid(); $count_letter_pwd = 8; $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $password =substr(str_shuffle($chars), 0, $count_letter_pwd);//"12345678"; $regpassword = $db->safesql( password_hash($password, PASSWORD_DEFAULT) ); if(function_exists('openssl_random_pseudo_bytes')) { $stronghash = md5(openssl_random_pseudo_bytes(15)); } else $stronghash = md5(uniqid( mt_rand(), TRUE )); $salt = sha1( str_shuffle("abcdefghjkmnpqrstuvwxyz0123456789") . $stronghash ); $hash = ''; for($i = 0; $i < 9; $i ++) { $hash .= $salt[mt_rand( 0, 39 )]; } $hash = md5( $hash ); $q="INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip, hash) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '4', '', '', '', '', '$_IP', '$hash')"; $db->query( $q ); $id = $db->insert_id(); create_rezume_cabinet($id);}$ret['error']=array('message'=>"unknown error");die(json_encode($ret)); Главное как-то защитить запрос: PHP: $q="INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip, hash) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '4', '', '', '', '', '$_IP', '$hash')"; Чтобы никто не мог поменять цифру 4 на другую