Pull to refresh
50
0
Дмитрий @StraNNikk

Python / PHP / JavaScript developer

Send message
Знама-знама про такое. IEs4Linux кстати не единственный эмулятор ишаков под *nix.
Все они (эмуляторы), насколько мне известно, не являются полноценными браузерами. Например у меня бывало случалось так, что вылетали JS-эрроры там, где оригинальный браузер отрабатывал нормально, и наоборот. Так что самый проверенный способ, на котром я остановился, VirtualBox с установленной виндой в режиме интеграции с дисплеем.
>или выходит новое обновление которое надо устанавливать
О да! Это меня всегда добивало в Keeper-е! Как только выходит новая версия вот что хочешь делай, а не заработает, пока не загрузить новую версию((
Как бы странно это не звучало не хватает Internet Explorer-а и Safari чтобы верстку и JS тестить :))
Приходится виртуалками пользоваться
сам не пользовался, но вроде как есть web-версия WebMoney Keeper Light
Чем же Explorer так крут? Я вот до сих пор не понимаю, почему даже с выходом Win7 разработчики не додумались добавить в него банальные tab-ы, как сделано хотя бы в то же самом линуксовом Наутилусе уже давным-давно. А то как-то не очень удобно открывать по 20 разных окошек.
Лично мне (как владельцу ноутбука со старой встроенной карточкой ATI Radeon 1250) очень сильно не хватает нормальных драйверов с поддержкой 3D ускорения и пр. приблудов. Чтобы поставить поприетарные драйвера ATI, приходится танцевать с бубном, и увы, на новых дистрибах с обновленным X.Org-ом они вообще вешают всю графическую систему намертво, а свободный драйвер до более-менее сносной работы ещё пилить и пилить.
девушки в IT по-моему вообще большая редкость :) хочется надеяться что с каждым годом число число этих вот хабровчанок будет уывеличиваться :))
ну а по сабжу — всех девчонок с праздником! счастья, радости и весны!
да можно включить — этот вопрос мне кажеццо зависит от конкретной ситуации и конкретного проекта :)
Одно дело когда берешь данные из массивов и контролируешь все входные данные, и совсем другое дело, когда автоматически создаются локальные переменные с параметрами, переданными в скрипт.
Никто не спорит, что в случае грамотно написанного кода пофик, используется ли register_globals или нет.
Но в общем случае при включенном параметре register_globals = On вероятность повления ошибки увеличивается, потому что кто ж его знает, где может эта локальная переменная всплыть и в каком контексте.
Ненене! Я ни в коем случае не фанат register_globals! :) Просто бывают такие ситуации в жизни, когда тебе отдают на поддержку проект, которому фиг знает сколько лет и в котором ядро построено на принципе register_globals = On, а времени на рефакторинг нет. Я имел ввиду именно такие случаи.
Так уж сильно файл с нулевым размером навредить конечно не может, но как-то повелось, что хранение на сервере пустых нулевых файлов противоречит логике и здравому смыслу :)))
И вдогонку — в статье можно было бы ещё упомянуть о проблеме фиксации сессии, благодаря которой удаленный пользователь может внедриться в сессию целевого пользователя. И решение её на php, хотя бы через session_regenerate_id().
Кстати, если речь идет о php, то к этому списку можно было бы добавить ещё пару пунктов, а именно:

1. «Правильные» настройки интерпритатора, а именно:
register_globals = Off
allow_url_include = Off

держать эти пункты всегда Off, и если и включать, то только в супер-экстренных случаях, когда задачу ну никак не решить другими способами.
а для особых параноиков задать директиву open_basedir и ограничить действия интерпритатора лишь определенными директориями.

2. Экранировать системные вызовы exec() / shell_exec() через функции: escapeshellcmd() и escapeshellarg()

3. Все загружаемые на сервер файлы, проверять на соотвествие типу, ненулевой размер и т.п., то есть проверять хотя бы следующие условия:
1. $_FILES['file']['error'] === UPLOAD_ERR_OK
2. $_FILES[‘file’][‘size’] != 0
3. $_FILES[‘file’][‘tmp_name’] != ‘none’
4. is_uploaded_file($_FILES['file']['tmp_name'])
оу, поддерживаю! написал тоже самое, но опоздал на пару минут :)
Обзор очень хорош, но по поводу 9го, а именно:
error_reporting(0);
ini_set('display_errors', 0);

очень спорный вопрос, поскольку важно именно не отображать ошибки, а не игнорировать их вообще.
Поэтому ИМХО даже в самом простейшем случае уместнее было бы следующее:
error_reporting(E_ALL ^ E_NOTICE);
ini_set('log_errors', 1);
ini_set('error_log', '/path/to/log/file.log');
ini_set('display_errors', 0);

чтобы в случае ошибок (чем черт не шутит — баги бывают у всех) складировать их в лог.
Какая ирония… страница посвященная IE выдает эррор в этом же самом IE…
Помнится когда-то давно делал одну соц. сеть на музыкальную тематику, там был плеер, открывавшийся в отдельном небольшом окошке, и пользователи должны были иметь возможность управлять плеером со страниц сайта (добавлять/удалять песни + ещё какие-то фишки), причем так, чтобы это окошко с плеером не перезагружалось (т.к. там плеер как ни как, и играет музыка). Вот тогда то я и заюзал DOM Storage в полном объеме.
Единственное после долгих экспериментов — так и не нашел полноценной кроссбраузерной реализации (включая FF 2, IE 6-7), которая бы работала стабильно без косяков. Остановился на реализации хранилища через flash
Согласен по поводу «Excel в броузере».
Сделать круче хочется всегда — это бесспорно! Но с другой стороны любую фичу можно совершенстовать и отшлифовывать практически до бесконечности :) самое главное не прешанивать за пределы адекватности. Например если людям нужна обычная незайтеливая табличка, то врят ли стоит наворачивать систему гридов :))
Вот-вот! Тоже пережил тот период, когда Ext присобачивался везде, где только можно. Время разработки увеличивается раза в 3, результат далеко не всегда супер-кроссбраузерен, а при рендеринге особо заковыристых Ext-элементов, браузер начинает нещадно тормозить, а вместе с ним и вся система :((
Не, ну я не спорю — все получается так миленько, симпотно и всячески web 2.0-но, только оправдано ли это?
… А кстати есть ещё люди, делающие весь интерфейс на Ext.Layout — это вообще жесть неимоверная. Кто-то где-то забывает потереть зпт при создании объекта {x: 1, y: 2,}, и фсеее… весь сайт слетает напрочь!
В последнее время если и использую Ext, то только для создания отдельных объектов, типо гридов, диаграмм и т.п.
… и всеж то самое лого из цветных шариков, разлетающихся при наведении курсора, вводило в куда большую эйфорию! Но это с субмариной тоже весьма креатифффно :)

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity