@Office » 2010.08.07 08:29 |
Вобщем не могу понять, куда сувануть $_SERVER['REQUEST_URI'], чо-оп обновлялся при переходе на другую страницу : ) Вот код :
Помогите засунуть его в нужное место. Мне нужно записывать, где сейчас находится чел :P Добавлено спустя 1 минуту 56 секунд: И еще, если можно. Замутите что-бы записывало кол-во переходов юзера : ) |
Gemorroj » 2010.08.07 11:49 |
для начала откажись от хранения данных в файле. передам я юзерагент с символами :: и нарушу тебе структуру, что делать тогда будешь? |
@Office » 2010.08.07 13:20 |
Щас напишу тогда на mysql ^^ попробую oop заюзать :-d |
Morgan » 2010.08.07 13:21 |
Gemorroj, как вариант, ':' -> '[амперсанд]#58;' |
@Office » 2010.08.07 13:25 |
Так лучше?
Добавлено спустя 1 минуту : Иль что - то нужно еще добавить ? :) |
Gemorroj » 2010.08.07 13:43 |
sql injection, несоблюдение стандартов кодирования... public function utf ($str) { return htmlspecialchars($str, ENT_QUOTES); } это совершенно ни к чему mysql_result($sql, $this->_link, $value); это не корректно return mysql_real_escape_string(trim($str)); почему не используется ресурс соединения с БД? |
@Office » 2010.08.07 13:54 |
Я уже все переделал :)
public function utf ($str) { return htmlspecialchars($str, ENT_QUOTES); } Это плохо разве? О_О а как еще фильтровать при выводе? |
@Office » 2010.08.07 13:58 |
Мля я грю уже сделал все :) щас покажу как сделал :) |
Gemorroj » 2010.08.07 14:35 |
tipsun написал:Не обязательно от файлового хранения отказываться...
Обязательно. Этот говнокод потом в могилу весь код потянет. И никто-ничего тут не усложняет, кот элементарен до безобразия. Добавлено спустя 1 минуту 15 секунд: @Office, все равно, код не корректен. |
@Office » 2010.08.07 14:40 |
Что именно там не корректо? Помоги сдлать корректнее :) |
Gemorroj » 2010.08.07 14:43 |
Комментарий номер 6 |
@Office » 2010.08.07 14:46 |
Что тут некорректно? public function utf ($str) { return htmlspecialchars($str, ENT_QUOTES); }
mysql_result($sql, $this->_link, $value); - снес функцию.
return mysql_real_escape_string(trim($str)); почему не используется ресурс соединения с БД?
Исправлено.
Еще не корректно? |
Gemorroj » 2010.08.07 15:03 |
почему htmlspecialchars называется utf? тем более что ты там даже не указываешь кодировку для htmlspecialchars и по умолчанию она ISO-какая-то там. mysql_result - посмотри синтаксис этой функции и сравни с тем, что ты ей передаешь ну и повсюду sql injection проходит. твой htmlspecialchars/utf никак не защищает тебя от sql injection, тебя защитит только mysql_real_escape_string перед занесением данных в БД обрабатывать их с помощью htmlspecialchars не нужно. htmlspecialchars применяется перед самым выводом данных пользователю. т.е. в echo, print и т.п. (для простоты понимания) |
@Office » 2010.08.07 15:10 |
А название играет роли? О_о Потому что я так превык, называть функцию utf.
mysql_real_escape_string использую при записи в БД, а при выводе: "htmlspecialchars".
Я не заношу в бд фильтруя htmlspecialchars()
ENT_QUOTES экранирует ковычки, sql inj не прокатит :) Добавлено спустя 5 минут 46 секунд: Кхмм.. если ты про фильтрацию USERAGENTA то убрал :) |
Gemorroj » 2010.08.07 16:07 |
@Office, а нулл байты или обратные слеши он фильтрует? экранируй с помощью mysql_real_escape_string и не выдумывай велосипедов стандартизация кода это очень важный момент, если ты привык к utf, то это не значит что это правильно и так делать надо. нарушая стандарты кодирования, ты тем самым гробишь проект в плане расширяемости. во многих конторах код не считается принятым пока полностью не прокомментирван и оформлен в соответствии со стандартами. |
tipsun » 2010.08.07 16:30 |
Геморрой, для тебя конечно код простой :D (в рифму получилось) Автор счетчика, не точный он у тебя будет с переходами, скорее всего... Добавлено спустя 4 минуты 18 секунд: Потому, что после 3х минут юзер с базы удаляется, отсюда следует и неточность. Вдруг он подаст признак присутствия на сайте после 3х минут, а его переходы уже по-новой будут считаться... |
@Office » 2010.08.07 18:19 |
tipsun, внимательно код смотри, не удаляются записи. Если он вдруг зайдет, переходы будут продолжаться.
Gemorojj, Т.е ты хочешь сказать при выводе mysql_real_escape_string использовать? О_о Я при записи, использую его, а при выводе htmlspecialchars, а насчет utf(), у тебя есть более наилучший вариант названия функции? Покажи, может превыкну к нему. Незнаю, как только ознакомился с функциями, начал юзать utf.. |
tipsun » 2010.08.07 18:30 |
Автор счетчика, извиняюсь. Увидел :) посчитать всех, у кого время больше лимита, таким же запросом и выводим... Мда, всё продуманно... |
Gemorroj » 2010.08.07 18:59 |
@Office написал:Т.е ты хочешь сказать при выводе mysql_real_escape_string использовать?
совсем нет, где я такое говорил? Я бы лично htmlspecialchars вообще не выделял в отдельный метод. |
@Office » 2010.08.07 19:24 |
Хз, геморой. Привык делать так, не считаю ошибкой :) Всеравно, спасибо за совет.
Gemor, еще вопрос, стоило ли тут использовать такое мего OOP? :-D |
Gemorroj » 2010.08.07 20:02 |
ООП предпологает правильный, с точки зрения структуры, код. Почитай об именовании классов, методов, свойств, комментариев. Да и ООП тут в принципе-то и почти нет. Просто не используются никакие его приемущества. Набор функций объединенных неймспейсом (PHP 5.3) делает абсолютно тоже самое. ООП не помешает в принципе, т.к. если нужно будет что-то расширить, изменить, то с ним намного проще будет это сделать. |