Буквально за одну неделю после того, как на наших сайтах установили кнопку «on-line консультат» менеджер принял 5 заказов. Не много, но это лучше чем если бы их небыло. Если говорить о суммарном числе заказов, то все осталось по-прежнему.
Ну а кто мешает написать аналогичную библиотеку только для работы с шаблонами.
Форкаем смарти, добавляем в функцию определения переменной каким образом/функцией фильтровать данные в этой переменной. Те же плейсхолдеры по сути, только вид с боку. Но несмотря на это, мы все еще упираемся в главное определяем способ фильтрации.
Во первых, статья не о том как могло бы быть, а о том, что мы имеем.
Во вторых, html это и так текст. Вот только в нашем случае он генерируется при помощи языка программирования (php, asp, java и т.п.).
Имея 3 элемента
Язык программирования
Текст с разметкой html
Браузер, который парсит html и отдает оформленный документ
Логично предположить, что поставленная вами задача должна ложиться на плечи именно браузера, а не языка программирования (т.к. html страницу можно создать и без программирования). Сразу приходит в голову решение — дать комманду браузеру (вы об этом собственно и говорите). Но как это сделать? Естественно обрамить в специальный тег, т.к. браузер не знает никаких переменных в нашем скрипте и мест куда эта переменная в должна подставляться. Обрамлять все подряд компилятором или интерпретатором, нельзя, ведь тогда на выходе получим нерабочую верстку, т.к. что
будет восприниматься как не интерпретируемый текстом. Поэтому нужна функция непосредственно в самом языке программирования.
Нет, я конечно допускаю, что в какой-то другой галлактике интернет устроен именно так, как вы и говорите. Но что-то мне подсказивает, что идя подобным путем все будет только усложняться… Так что мы на правильном пути). Просто учитесь граммотно выбирать функции под конкретную задачу. strip_tags, htmlspecialchars,…
либо, для примера из статьи собственная функция с участием parse_url
Прочитав заголовок подумал — «очередной крик душы разработчика, в коде которого нашли способ эксплуатации XSS». Но дочитав до конца понял, что это лучшая статья на тему XSS.
При дизайне и верстке сайта учитывались ли версии браузеров посетителей вашего сайта? И как вы относитесь к улучшениям на сайте которые приводят к потере 1%-2% пользователей, т.к. их браузер не поддерживает нововведений. Если уже делали редизайн, то как это в отразилось на заказах (больше, меньше, просадки и т.п.).
P.S. спрашиваю с точки зрения бизнеса, т.к. потеря 1%-2% пользователей скажется на числе заказов, которые врятли смогут поднять нововведения.
Как вы считаете, собирая подписную базу важно ли имя подписчика? Вроде с одной стороны, если в письме указано имя, то это должно повышать доверие. Но с другой стороны, при подписке заполнить 2 поля (email и имя) психологически сложнее, нежели 1.
Хочу дополнить, что способ защиты указан не верный, хотя конечно он верный, если у вас в $_GET['id'] всегда числовые значение. Но вот что делать, если там могут быть и строки? Правильно, в ход идет escape. Поэтому фильтрация должна быть правильная, т.е. уместная на каждом участке кода. А то бывает встречаются такие ситуации:
$_GET['id'] — всегда число, а фильтрация escape для запроса вида
SELECT * FROM news WHERE id=1
Таким образом нам даже и кавычка не нужна для sql-injecton. Достаточно просто положить -1 UNION SELECT 1 в $_GET['id']
…
5. Доступ к альтернативным и независимым источникам информации. Граждане вправе искать и получать информацию от других граждан, из книг, СМИ и т. п. Альтернативные источники информации должны существовать, быть доступны и не подконтрольны какой-либо одной политической группе.
...
Данный закон в неявной форме лишает нас этого права. Неугоден сайт — прикрыли без решения суда. И вам неоткуда больше взять информацию. Возьмем, к примеру, недавний случай: наводнение в Краснодарском крае. Проблемно будет узнать из интернета о реальном числе пострадавших и вообще о том, что там происходит на самом деле. Нам вот говорят, что материальную помощь раздают от 10 до 50 т.р., а по факту меняют на подписи.
Это печально. Но будем надеяться, что в новых версиях перейдем хотя бы на md5(md5($pass).$salt). Тем более при таком подходе можно даже будет безболезненно обновляться добавив соответствующую логику…
Когда я готовил опрос каждый язык был отдельным пунктом. Но перед публикацией пришло понимание того, что пунктов слишком много. Вот и пришлось группировать. Конечно, было бы логично разделить C# и C++, Pascal и Delphi, Basic и Visual Basic…
Basic (единственная книга по программированию у нас в школьной библиотеке была). Правда компьютера тогда небыло ни в школе, ни дома. Поэтому писал на листочке в тетрадке) Мечтал когда же появится компьютер и я проверю свою программы. И вот, компьютер появился. Но, как выяснилось, на бейсике уже никто не писал.
Поэтому у меня путь был примерно следующий
Basic -> C++ -> Assembler -> Delphi -> Turbo Pascal (на факультативах в школе) -> html+css+javascript -> Visual Basic (в институте) -> PHP -> Perl -> Asp
Пройдя такой путь от крякмиксов до банальной верстки сайтов понял, что веб это мое. И остановился на связке javascript+php.
Форкаем смарти, добавляем в функцию определения переменной каким образом/функцией фильтровать данные в этой переменной. Те же плейсхолдеры по сути, только вид с боку. Но несмотря на это, мы все еще упираемся в главное определяем способ фильтрации.
Во вторых, html это и так текст. Вот только в нашем случае он генерируется при помощи языка программирования (php, asp, java и т.п.).
Имея 3 элемента
Логично предположить, что поставленная вами задача должна ложиться на плечи именно браузера, а не языка программирования (т.к. html страницу можно создать и без программирования). Сразу приходит в голову решение — дать комманду браузеру (вы об этом собственно и говорите). Но как это сделать? Естественно обрамить в специальный тег, т.к. браузер не знает никаких переменных в нашем скрипте и мест куда эта переменная в должна подставляться. Обрамлять все подряд компилятором или интерпретатором, нельзя, ведь тогда на выходе получим нерабочую верстку, т.к. что
что
будет восприниматься как не интерпретируемый текстом. Поэтому нужна функция непосредственно в самом языке программирования.
Нет, я конечно допускаю, что в какой-то другой галлактике интернет устроен именно так, как вы и говорите. Но что-то мне подсказивает, что идя подобным путем все будет только усложняться… Так что мы на правильном пути). Просто учитесь граммотно выбирать функции под конкретную задачу. strip_tags, htmlspecialchars,…
либо, для примера из статьи собственная функция с участием parse_url
P.S. спрашиваю с точки зрения бизнеса, т.к. потеря 1%-2% пользователей скажется на числе заказов, которые врятли смогут поднять нововведения.
$_GET['id'] — всегда число, а фильтрация escape для запроса вида
Таким образом нам даже и кавычка не нужна для sql-injecton. Достаточно просто положить -1 UNION SELECT 1 в $_GET['id']
Данный закон в неявной форме лишает нас этого права. Неугоден сайт — прикрыли без решения суда. И вам неоткуда больше взять информацию. Возьмем, к примеру, недавний случай: наводнение в Краснодарском крае. Проблемно будет узнать из интернета о реальном числе пострадавших и вообще о том, что там происходит на самом деле. Нам вот говорят, что материальную помощь раздают от 10 до 50 т.р., а по факту меняют на подписи.
P.S. Простите, накипело...
Поэтому у меня путь был примерно следующий
Basic -> C++ -> Assembler -> Delphi -> Turbo Pascal (на факультативах в школе) -> html+css+javascript -> Visual Basic (в институте) -> PHP -> Perl -> Asp
Пройдя такой путь от крякмиксов до банальной верстки сайтов понял, что веб это мое. И остановился на связке javascript+php.