123456
23.11.2012 - 15:19
Делаю запрос:
mysql_query("UPDATE `user` SET `pole` = '". mysql_real_escape_string($_POST['pole']) ."' WHERE `id` = '1'");
$user = mysql_fetch_assoc(...);
Возникло пару вопросов по безопасности!
1. Как правильно, так
<input type="text" value="<?=$user['pole']?>" />
или так
<input type="text" value="<?=htmlspecialchars($user['pole'])?>" />
???
2. Как правильно, так
mysql_query("UPDATE `user` SET `pole` = '". $user['pole'] ."' WHERE `id` = '2'");
или так
mysql_query("UPDATE `user` SET `pole` = '". mysql_real_escape_string($user['pole']) ."' WHERE `id` = '2'");
123456
23.11.2012 - 15:43
Ок.
Теперь такие же вопросы, только с регуляркой.
if (!preg_match ("/^\s*[A-Za-z0-9_]+\s*$/", $_POST['pole']))
echo 'Ошибка';
else
mysql_query("UPDATE `user` SET `pole` = '".mysql_real_escape_string($_POST['pole']) ."' WHERE `id` = '1'");
$user = mysql_fetch_assoc(...);
Игорь_Vasinsky
23.11.2012 - 18:09
есть ньансы
magic quotes
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Гость_123456
23.11.2012 - 19:24
При условиях, что магические кавычки отключены