01.02.2012, 19:32
Страниц: 1 2
11.05.2012, 14:08
Cват можешь помочь с веб-программированием?
Есть пара вопросов.
1. Php. Что лучше использовать, регэкспы или filter_var? Вроде как и те, и другие, могут справляться с положенной на них задачей, но кто лучше это делает?
2. Как лучше сделать куку для авторизации? Я предполагаю хранить в куке имя и хеш от пароля (md5), при заходе на очередной скрипт .php, php проверяет в базе, есть ли такой пользователь с таким паролем и на основе этого будет выносить решение. В итоге много лишних циклов обработки и ненужная переавторизация всякий раз, когда пользователь заходит на новую страницу. Как этого избежать? Интуиция подсказывает использовать сессию и ssid, но я об этом мало пока знаю и слабо представляю как это будет работать.
3. При передаче данных из форм. Достаточно ли использовать intval (для целых чисел), mysql_real_escape_string и strip_tags для обеззараживания текстовых строк, или лучше применять еще какие-либо принудительные меры? те же регэкспы к примеру или htmlspecialchars.
4. Как сделать возможность перетягивания картинки за край (уменшать и увеличивать размер) средствами Js? С изменением размеров более или менее понятно (элементарно), но вот как быть с drag'ом. Ибо событие изменения курсора можно забиндить только на все пиксели элемента, а нужны только граничные. Есть идея с анализом координат пикселей (учитывая положение элемента на странице), но она наверное не очень хорошая.
Есть пара вопросов.
1. Php. Что лучше использовать, регэкспы или filter_var? Вроде как и те, и другие, могут справляться с положенной на них задачей, но кто лучше это делает?
2. Как лучше сделать куку для авторизации? Я предполагаю хранить в куке имя и хеш от пароля (md5), при заходе на очередной скрипт .php, php проверяет в базе, есть ли такой пользователь с таким паролем и на основе этого будет выносить решение. В итоге много лишних циклов обработки и ненужная переавторизация всякий раз, когда пользователь заходит на новую страницу. Как этого избежать? Интуиция подсказывает использовать сессию и ssid, но я об этом мало пока знаю и слабо представляю как это будет работать.
3. При передаче данных из форм. Достаточно ли использовать intval (для целых чисел), mysql_real_escape_string и strip_tags для обеззараживания текстовых строк, или лучше применять еще какие-либо принудительные меры? те же регэкспы к примеру или htmlspecialchars.
4. Как сделать возможность перетягивания картинки за край (уменшать и увеличивать размер) средствами Js? С изменением размеров более или менее понятно (элементарно), но вот как быть с drag'ом. Ибо событие изменения курсора можно забиндить только на все пиксели элемента, а нужны только граничные. Есть идея с анализом координат пикселей (учитывая положение элемента на странице), но она наверное не очень хорошая.
11.05.2012, 18:06
1. Вообще они выполняют разные задачи, но если ты используешь регулярки только для тех функций, что выполняет filter_var, то лучше этот фильтр и используй, так как регулярки работают медленно.
2. Ну ты дал стране угля, кто же пароли к куках хранит. Для этого есть сессии, ты после авторизации в сессии храни флаг о том что пользователь авторизован. В данном случае в куках хранится только ID сессии, которая живет определенное время (зависит от настроек сервера), а данные сессии находятся на сервере, поэтому этот флаг никто не может поменять кроме тебя. Сессии использовать предельно просто, у тебя в распоряжении есть глобальный массив $_SESSION в котором ты можешь хранить что хочешь, как правило это ID пользователя и признак авторизован ли он (ну это минимальный набор).
3. С числами все просто, а вот со строками уже сложнее, конечно то что ты написал это помогает, но это основные меры. Если ты хочешь большей защищенности от хлама, то необходимо валидировать каждое поле по своему (в зависимости от того что туда вводится), к примеру с использованием регулялок.
4. Смотри в сторону JS фреймворков типа jQuery и Mootools, там есть все что тебе нужно. Сейчас мало кто что то сам изобретает, все используют уже готовые, кроссбраузерные фреймворки.
2. Ну ты дал стране угля, кто же пароли к куках хранит. Для этого есть сессии, ты после авторизации в сессии храни флаг о том что пользователь авторизован. В данном случае в куках хранится только ID сессии, которая живет определенное время (зависит от настроек сервера), а данные сессии находятся на сервере, поэтому этот флаг никто не может поменять кроме тебя. Сессии использовать предельно просто, у тебя в распоряжении есть глобальный массив $_SESSION в котором ты можешь хранить что хочешь, как правило это ID пользователя и признак авторизован ли он (ну это минимальный набор).
3. С числами все просто, а вот со строками уже сложнее, конечно то что ты написал это помогает, но это основные меры. Если ты хочешь большей защищенности от хлама, то необходимо валидировать каждое поле по своему (в зависимости от того что туда вводится), к примеру с использованием регулялок.
4. Смотри в сторону JS фреймворков типа jQuery и Mootools, там есть все что тебе нужно. Сейчас мало кто что то сам изобретает, все используют уже готовые, кроссбраузерные фреймворки.
13.05.2012, 18:02
Ясно спасибо большое. Вот еще такой вопрос, не совсем по области твоей специализации конечно же, но все же.
Хочу создать красиво оформленный input-box.
Для этого у меня есть два пути:
1. Взять div, задать ему border-radius для скругления краев, border-color и border-width: 1px;
внутрь засунуть input type с border="none"
2. Задать background-image'м для input'а.
Собсна вопрос, какой из вух методов лучше/предпочтительнее?
Или можно брать любой, который больше нравится?
Хочу создать красиво оформленный input-box.
Для этого у меня есть два пути:
1. Взять div, задать ему border-radius для скругления краев, border-color и border-width: 1px;
внутрь засунуть input type с border="none"
2. Задать background-image'м для input'а.
Собсна вопрос, какой из вух методов лучше/предпочтительнее?
Или можно брать любой, который больше нравится?
14.05.2012, 07:57
Ну почему же не по специальности, я верстаю не хуже чем программирую 
Если ты будешь поддерживать старые браузеры ИЕ (6,7), то бэкграунд картинкой на инпуте, будет двигаться вместе с текстом, когда тот будет скроллится, если введено больше знаков чем в нем видно. Поэтому здесь правильней сделать бэк на див, а в див этот положить уже чистый инпут.
Если же ты не будешь заморачиваться на красоту в старых ИЕ, то конечно лучше использовать возможности CSS3 (border-radius, а так же можно box-shadow для красоты).
Я бы конечно советовал забить на ИЕ, пусть эти несчастные видят обычный инпут.

Если ты будешь поддерживать старые браузеры ИЕ (6,7), то бэкграунд картинкой на инпуте, будет двигаться вместе с текстом, когда тот будет скроллится, если введено больше знаков чем в нем видно. Поэтому здесь правильней сделать бэк на див, а в див этот положить уже чистый инпут.
Если же ты не будешь заморачиваться на красоту в старых ИЕ, то конечно лучше использовать возможности CSS3 (border-radius, а так же можно box-shadow для красоты).
Я бы конечно советовал забить на ИЕ, пусть эти несчастные видят обычный инпут.
Страниц: 1 2