Home

Advertisement

Customize

Friends

Recent Entries · Archive · Friends · User Info

* * *
Здесь я опубликовал небольшую, но на мой взгляд исчерпывающую заметку о быстром использовании библиотеки TransAjax. Ваше мнение...
Библитека стабильнее и ...привычнее по использованию нежели интегрированные методы jQuery или Prototype.

Реализована загрузка файлов через IFRAME

ajax_submit( <id_form>, <callback> );

* * *
Вот тут подсмотрел, что, якобы, именно так правильно освобождать память в PHP:

$foo = new stdClass;
$foo = null;
unset($foo);

Что сообщество думает по этому поводу?

Вопрос возник в связи с необходимостью написать на PHP демон и повесить его на прослушивание порта. Какие могут быть рекомендации и литература по этой теме?

* * *
Есть ряд задач под которые требуются специалисты.Москва.
Read more... )
* * *
Коллеги - не сталкивался ли кто с таким:

$(document).ready(onLoad);

function onLoad()
{
$("input[type=text]").each(function () {$(this).attr("disabled", "1");});
$("input[type=radio]").each(function () {$(this).attr("disabled", "1");});
$("select").each(function () {$(this).attr("disabled", "1");});
$("textarea").each(function () {$(this).attr("disabled", "1");});
}

В фаерфоксе и ИЕ все гуд.
А вот в хроме элементы не дизаблятся.
Парадокс...

* * *
Когда пользователи заливают на сайт фотографии большого разрешения, скрипту, который их ресайзит, видимо не хватает памяти и он не справляется. Можно ли как-то ресайзить большие фотки (может как-то по частям), чтоб обходить это ограничение стандартных хостингов?
Пользуюсь мастерхостом.

upd. Для мастерхоста решение -
http://masterhost.ru/support/faq/technical/imagemagick/

* * *


Компания RuTube.ru продолжает расширяться. Ищем талантливых, работящих веб-дизайнеров. Работа интересная, веселая. Нужно быть хорошим графиком в области веба, иметь рекламное чутье, flash на уровне анимации. Полный рабочий день в офисе. Условия отличные.

Зарплата до 90тр!

Присылайте портфолио на ssmirnov@rutube.ru
* Вакансия новая, нужны еще дизайнеры)
* * *
Добрый день!
Есть строка типа 2;11;3 ,пытаюсь с помощью регулярных выражений проверить есть ли цифра 11 в ней (причем строка может быть и вида 2;3;11), при этом если в регулярку поставить 1 то оно должно возвращать ложь, но что-то неполучается, вот как я пробовал:
([11][^0-9]{1,})*
^([11][^0-9]{1,})*$

Подскажите в чем ошибка? Заранее спасибо!

UPDATE: Спасибо всем за помощь!

* * *
Несколько простых правил

1. Избавиться от слешей (magic_quotes), используется при каждом запуске

2. Желательно использовать при разработке скрипта и на рабочем хостинге register_globals = off. Никаких extract($_POST) и т.д.

3. Если данные ввёл гость (не администратор) - к ним применяется
а) для целых чисел преобразование типов: $id = (int)$_GET['id'];
б) для строк при вводе не применяется ничего, при выводе применяется htmlspecialchars();
либо, если нужно пользователям дать возможность вводить html-код, то
в) применить к вводимым данным XSS-фильтрацию, например так
г) хорошей практикой также является очистка от пробелов функцией trim. Как правило она оправдана всегда кроме случаев текстовых полей с кодом/красной строкой. Вместо неё можно использовать rtrim. Это больше относится к корректности введённых данных чем к безопасности.
д) Всегда старайтесь использовать для сравнения оператор ===, функцию in_array используйте с параметром strict=TRUE. Результат выполнения in_array('abc', array(0,1,2)) иногда может привести к неожиданному результату.

4. Для файлов.
а) Раньше был баг (сейчас не знаю) в функциях move_uploaded_file() и copy(), которые обрубали аргумент до вхождения некоторых символов, например \x00 (null-byte). Т.е. если загружать на сервер файл с именем data.php%00.jpg, функция strrchr() вернёт '.jpg', т.е. разрешённое расширение, но функции move_uploaded_file() и copy() скопируют файл как data.php. Чтобы избежать этого, нужно расширение файлу задавать вручную.
%00 - имеется ввиду null-byte
(Как я понял, суть в целевом имени файла, втором аргументе, т.е. если мы возьмём его равным $_FILES['filename']['name']).
б) недопустимые символы заменить на _
в) для предотвращения запуска php-скриптов нужно положить в каталог с файлами вот такой htaccess
php_flag engine 0
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

5. Данные, вводимые админом с помощью WYSIWYG, как правило, не фильтруются от XSS, хотя это дело вкуса.

6. При сохранении в базу данных все целые приводятся к целому типу, все строки экранируются mysql_real_escape_string. В случае mysqli лучше пользоваться prepared statements -- данные пойдут в бинарном формате, без сомнительного слеш-эскейпинга.

7. (дополнительно, к фильтрации не относится)
a) Все критичные действия пользователей (удалить, выйти и т.д.) должны выполняться только post-запросом. Некритичные тоже =)
б) Формы должны сопровождаться рандомно генерируемым ключом. Т.е. при отрисовке формы вставляем input type="hidden" value="(рандомное)", и при получении формы проверяем, присутствует ли этот ключ. Та же форма, отправленная повторно, обработана не будет.
в) никогда не передавать самому себе данные через HIDDEN-поля и явные куки. Только сессии.

Почитать на тему
Почитать про CSRF

Исправляйте и дополняйте.

* * *
Простите мне мою глупость, но не подскажите ли вы в какой тег надо заключить текст (в моем случае заголовок), чтобы можно было задать фоновый цвет в css, но при этом цветная полоса не расстягивалась бы на всю строку или весь блок, а заканчивалась бы сразу;
* * *
Есть конструкция вида: Стили соответственно:

#footer { width: 100%; height: 68px; margin: -68px 0 0; background: url(../images/page-bg.png) 0 100% repeat-x; position: relative; }

.f-wrp1 { padding: 0 21px; }

.f-inner { width: 100%; height: 68px; min-width: 956px; max-width: 1256px; margin: 0 auto; position: relative; background-color: red; }


ну и собственно виновник поста ИЕ6 и стили для него:

.f-inner { width: expression((document.compatMode && document.compatMode == 'CSS1Compat') ? (document.documentElement.clientWidth < 956 ? '956px' : (document.documentElement.clientWidth > 1256 ? '1256px' : 'auto')) : (document.body.clientWidth < 956 ? '956px' : (document.body.clientWidth > 1256 ? '1256px' : 'auto'))); }


Так вот собственно проблема: обычно вешаю этот экспрешн непосредственно на футер, но здесь из-за дизайна пришлось вот так извратиться и теперь при расширении окна с минимальной ширины до определённого места всё нормально, потом на этом определённом месте ИЕ делает футер по максимальной ширине из экспрешена и появляется горизонтальный скрол пока не развернуть окно ширине этой самой максимальной ширины. Помогите избавиться от баги.
* * *
решил тут свою криворучкость переписать всю
начал с вопросов безопасности, хоть это и для внутреннего употребления
начитался разного, и получаю:

///////////////////// для проверки всех форм получаемых гетом ///////////////////////

// чистим стандартно
$_GET = clearall($_GET);
function clearall($array)
{ foreach ($array as $id=>$value)
{ $array[$id] = mysql_real_escape_string($value); }
return $array;
}

// проверяем на наличие только разрешенных символов
function clearstring($array)
{ foreach ($array as $id=>$value)
{ if ($array[$id]!=null){ $array[$id] = preg_match("/^([а-яА-Яa-zA-Z0-9\/\:_.-\s\w]+)$/i", $value); if ($array[$id]==0) {пишемВлог("строка в лог"); print "<х1>ошибка<h1>"; exit;}}}
return $array;
}

clearstring($_GET);

extract($_GET);

////////////////////////////////// для проверки всех форм получаемых постом //////////////////

// проверяем на наличие только разрешенных символов
function clearstringSUB($array)
{ foreach ($array as $key =>$value)
{
$arrornot = is_array($value);

//если постом передали строку
if ($arrornot==0 and $value!=null){ $array = preg_match("/^([а-яА-Яa-zA-Z0-9.,\s]+)$/i", $value); if ($array==0) {пишемВлог("строка в лог"); print "<h1>Ошибка<h1>"; exit;}}

//если постом передали массив
if ($arrornot==1 and $value!=null){

foreach ($value as $key1 => $value1){ if ( $value1!=null){ $array = preg_match("/^([а-яА-Яa-zA-Z0-9.,]+)$/i", $value1); if ($array==0) {пишемВлог("строка в лог"); print "<h1>ошибка<h1>"; exit;}}}}

}

return $array;
}

clearstringSUB($_POST);

extract($_POST);

php5. В вопросах кавычек в musqlзапросах вроде я разобрался и привел все к единому.
Коряво, читается плохо, лишние переменные, може где ошибок не вижу.
Если люди добрые поглядят да подскажут что - большое спасибо.

* * *
Здравствуйте, господа дизайнеры.
Пожалуйста, не бейте сильно, если здесь не принято просить "заценить" дизайн сайта.

Собственно о чем вопрос все уже поняли.
Имя сайта - web20.su
Думал сначала выложить скриншот, но по нему трудно будет оценить, к примуру, сайдбар.

Тупо Wordpress, немного доработанная лично мной тема Plainscape. Ссылка на демо оригинала есть здесь - http://wordpress.org/extend/themes/plainscape

Заменил шрифт на Verdana, убрал justify выравнивание, кое-где избавился от БОЛЬШИХ БУКОВ, переработал меню. Валидный XHTML 1.0 и CSS3 на всех страницах.

Знаю, что убого, знаю что мне никогда не светит заниматься дизайном, однако - на сайт заходят люди и мне хотелось бы сделать его лучше. Хороши ли сделанные мною изменения, каковы будут рекомендации? Какова ваша оценка на данный момент? Спасибо.

* * *
Вот только что с большим изумлением я обнаружил, что жабаскрипт в IE не воспринимает метод window.back()

<input type="button" value=" Hазад " onClick="window.back();">

Факт во все лицо. Проверил на IE5, IE6, IE7. Win2K, WinXP.
Ошибка: объект не поддерживает это свойство или метод.
Код: 0

В Опере и Мазиле работает. OnClick=history.back() -- работает, но мне нужен именно window.back()

Гугель вообще первый раз слышит, чтобы метод window.back() не работал.

Бред какой-то. Я не заметил слона?

UPD
главный вопрос-то в другом:

windows.back() должна ли нормально работать в IE или нет?
и если "нет", то почему это не написано в мануалах большими коричневыми буквами? :(

* * *
Доброе время суток, всем.
У меня вот такой вопрос, может кто сталкивался или просто поделится соображениями.

Есть магазин. Есть корзина, в которую товары можно класть без регистрации.

Не могу решить как поступить:

- создавать корзину пользователю при первом его заходе на сайт (запоминаю его кукой, посещаемость внушительная) и при повторных заходах использовать её.

- создавать корзину только при попытке положить в неё товар.

Плюс 1го - создал корзину и уже не паришся, есть она пользователя или нет.
Плюс 2го - не такой быстрый рост количества корзин.

И вопрос вбок.
Если всё таки использовать первый вариант, то как отвадить роботов генерить себе корзины? могут ли роботы поставить себе куку?

* * *
Нужен дизайнер сайтов в офис Zero, www.zero.ru. Портфолио со смелыми и умными работами хотя бы на 90-100% веб.

писать
fabrika@zero.ru
hello@zero.ru

Спасибо,
Коля.

* * *
Привет! Подскажите, пожалуйста, бесплатный модуль (или компонент) для Joomla 1.5, который сможет показывать баннеры (.jpg) в виде слайдшоу.
Попробовала все, что есть на extensions.joomla.org - ничего не подходит: либо все зарезают баннерорезки (из-за того, что в генерируемом коде присутствуют слова "баннер", "клик", "адверт" и т.п.), либо нет слайдшоу.
Модулю нужно будет показывать внутренние баннеры (ссылки ведут на определенный контент на том же сайте).

Если подобного вменяемого модуля для Джумлы не существует, то может быть кто-нибудь посоветует сторонний отдельный скрипт?

Заранее спасибо всем откликнувшимся:)

* * *
Попробовал новый TopStyle 4 и пришел в ужас. Первоначально меня привлекло, что наконец сделали нормальные закладки, ну и просто хотелось пощупать новинки в виде предпросмотра в iPhone, FTP, code folding.

Однако одна фича убила во мне все. Когда курсор попадает на значение, то стрелками вврех, вниз это значение начинает прокручиваться. И это не отключается!!! Т.е., вы спокойно перемещаетесь по документу, натыкаетесь на значение и все, дальше редактирование значения. Сделали бы через доп клавишу типа Alt+↑ была бы суперфича, а так здорово мешает.

Что же касается code folding (сворачивания кода), то для CSS он выглядит неприменимым. Сворачивается только поселекторно или сразу все. Такого, чтобы выделить кусок кода и свернуть нет.

Вердикт: в топку.

* * *
Коллеги, столкнулся с неприятной особенностью нашего любимого IE: если задать текстовому полю padding, то он отсчитывается не по-человечески, а от массива текста. Есть идеи, каким образом принудить окаянного к миру?

Фоновая картинка без background-attachment:fixed; тоже уезжает.

* * *
Собственно, срочно нужны дизайнер и верстальщик. Есть интересная идея для интересного сайта, ее нужно красиво и качественно реализовать. На сайте предполагаются рисунки "от руки" и flash-элементы. Вознаграждение достаточно скромное, поэтому мы рассчитываем найти тех, кто, помимо денежной мотивации, еще и заинтересован в пополнении собственного портфолио яркой качественной работой.
Если здесь таких не водится, буду благодарна за совет, где можно поискать (поиски на free-lance.ru успехом не увенчались). Заинтересовавшимся можно писать на violet-giraffe(пcинка)mail.ru или в аську 445071782, желательно со ссылкой на свое портфолио.
Спасибо!
* * *
Требуется арт-директор для работы в офисе (г. Москва) в рекламное агентство "Erstmedia". З/п 60 000 – 80 000р.

От вас:
• Портфолио с высоким уровнем работ, преимущественно в вебе;
• Работа с 10.00 до 19.00;
• Ответственность и инициативность.
От нас:
• интересные проекты;
• работа с крупными брендами;
• хороший коллектив;
• бесплатные обеды;
• оформление по ТК РФ.

Резюме и портфолио высылайте на адрес: contact@erstmedia.ru
Подтвердите получение письма по телефону: (495) 5000-361 Наталья.

* * *

Previous

Advertisement

Customize