|
|
|
| В php-коде заношу информацию о HTTP_USER_AGENT пользователя в БД:
$agent = isset($_SERVER['HTTP_USER_AGENT'])? $_SERVER['HTTP_USER_AGENT']: null;
$newVisitorsAdding_query = "insert visitor(id, agent) values(".$visitorId.", '".$agent."')";
|
Обнаружил в БД пустые поля, соответствующие HTTP_USER_AGENT. О чём это говорит ?
Это какой-то анонимный бот ? | |
|
|
|
|
|
|
|
для: Cyrax
(17.05.2009 в 09:27)
| | Возможно, но есть еще такой вариант, что SQL запрос не был выполнен из-за ошибки. Ошибка могла произойти вследствии появления в переменной $agent спец символов.
Например
вот такой запрос выдаст ошибку:
$agent="test_string'"; ..опратите внимание на одинарную кавычку.
$newVisitorsAdding_query = "insert visitor(id, agent) values(".$visitorId.", '".$agent."')";
|
Чтобы таких ситуаций не возникало, нужно выполнять преобразование переменной функцией
mysql_real_escape_string()
либо другими способоми подставлять обратные слэши перед таким символами:
$agent="test_string\'"; | |
|
|
|
|
|
|
|
для: Dr Lines
(17.05.2009 в 10:00)
| | Но ведь если бы происходила ошибка, то запрос вообще бы не выполнялся.
А у меня строка, соответствующая этому запросу, заносится в БД (id есть, а агент - пустой) | |
|
|
|
|
|
|
|
для: Cyrax
(17.05.2009 в 14:30)
| | Скорее всего это робот, но возможно что какой-то неподписанный браузер. Но точно не поисковик, они всегда пишут кто они и что | |
|
|
|
|
автор: 32432 (19.05.2009 в 19:38) |
|
|
для: Cyrax
(17.05.2009 в 14:30)
| | Возможно это и бот, но Вам явно на дыру указали. | |
|
|
|