Условные комментарии или изменение способа рендеринга в IE8 метой — это не хаки, хаки это:
noindex:-o-prefocus,.class{background:red}@media all and (min-width:0){.class{background:red}}
Уже все соблюдают, вы просто отстали малость от паровоза.
Да не надо ничего отдавать скриптами. В проблемные браузеры встороен механизм условных комментариев, позволяющих скармливать им особый CSS/JS для убогих. Если у верстальщика затруднения с остальными бразерами, то надо просто изменить подход к верстке конкретного элемента.
Ох, не люблю я эти разговоры о валидности, поэтому и не употребляю обычно это слово. Есть поддерживаемые основными игроками на рынке браузеров стандарты, пусть и имеющие статус рекомендаций, формальное соответствие им — «валидность».
Нет же. Браузер ничего не знает о том, как вы задумали отображение страницы. Что написали, то и получили (в интерпретации браузера :)).
Николай В. добавил 06.07.2009 в 11:47
Коллеги, а что вам мешает написать «валидную», семантичную страницу, которая не косячит в IE и до одури кроссбраузерна? :) Вы так рассуждаете, как будто стандарты ставят палки в колеса корректному отображению.
Ну как обычно все свелось к холивару между теми, кто умеет делать красиво и хорошо, и теми, кому лишь бы показывалось :)
Есть мнение, что все нормальные роботы уже давно сами умеют отличать меню от плашки с контентом без какой-либо помощи со стороны создателя странички.
Стандарты и семантика на уровне кода — они не для роботов, это просто культура программирования и показатель уровня разработчика.
Я же вам предложил взять Zend_Auth.
Будет у вас красивый и секурный код вроде:
function _authenticate($identity, $credential){ $adapter = new Zend_Auth_Adapter_DbTable(Zend_Registry::get('db'), 'users', 'username', 'password', 'MD5(?)'); $adapter->setIdentity($identity); $adapter->setCredential($credential); $auth = Zend_Auth::getInstance(); if ($result = $auth->authenticate($adapter)->isValid()) { $auth->getStorage()->write($adapter->getResultRowObject(null, 'password')); } return $result;}
По-хорошему надо дизайн отразить. На Хабре есть статья про арабские интерфейсы.
Возьмите готовую авторизацию из Zend Framework. Лучше вы не напишите.
По поводу теории: PHP5 для профессионалов, глава «Безопасность сеанса».
Твой сайт можно будет разобрать обычными XML-парсерами. При указании «стриктового» типа ты не сможешь использовать такие кошерные вещи как iframe (например для аплоада файлов), сохраняя валидность.
bearman, на самом деле это неверно. Режимы рендеринга браузеров привязаны к доктайпу только потому, что больше не к чему. Если бы браузеры действительно рендерили документы в соответствии с заявленным типом документа, то у нас бы не работали устаревшие аттрибуты, презентационные теги, не говоря уже о всяких ужасах вроде marquee. Больше того — невалидные XHTML-документы вообще должны были бы сыпаться ошибкой.
По поводу строгости: «стриктовый» HTML 4 строже XHTML 1.0 Transitional.
Экспрешены тоже не заработают, если JS отключен, т.к. они — это он.