All streams
Search
Write a publication
Pull to refresh
40
0
Борисов Евгений @Agel_Nash

Пользователь

Send message
Это скорее призыв называть вещи своими именами, а не кирпич — хлебом.
ИМХО, если уж оплачивать БК, то это нужно делать только с виртуальных карт.
Буквально за одну неделю после того, как на наших сайтах установили кнопку «on-line консультат» менеджер принял 5 заказов. Не много, но это лучше чем если бы их небыло. Если говорить о суммарном числе заказов, то все осталось по-прежнему.
В целом заманчиво, но все же интересно, а какая будет скорость upload/download
Ну а кто мешает написать аналогичную библиотеку только для работы с шаблонами.

Форкаем смарти, добавляем в функцию определения переменной каким образом/функцией фильтровать данные в этой переменной. Те же плейсхолдеры по сути, только вид с боку. Но несмотря на это, мы все еще упираемся в главное определяем способ фильтрации.
Во первых, статья не о том как могло бы быть, а о том, что мы имеем.

Во вторых, html это и так текст. Вот только в нашем случае он генерируется при помощи языка программирования (php, asp, java и т.п.).

Имея 3 элемента
  1. Язык программирования
  2. Текст с разметкой html
  3. Браузер, который парсит html и отдает оформленный документ

Логично предположить, что поставленная вами задача должна ложиться на плечи именно браузера, а не языка программирования (т.к. html страницу можно создать и без программирования). Сразу приходит в голову решение — дать комманду браузеру (вы об этом собственно и говорите). Но как это сделать? Естественно обрамить в специальный тег, т.к. браузер не знает никаких переменных в нашем скрипте и мест куда эта переменная в должна подставляться. Обрамлять все подряд компилятором или интерпретатором, нельзя, ведь тогда на выходе получим нерабочую верстку, т.к. что
http://localhost/?url="><script>alert("XSS")</script><!--
что
http://example.com/

будет восприниматься как не интерпретируемый текстом. Поэтому нужна функция непосредственно в самом языке программирования.

Нет, я конечно допускаю, что в какой-то другой галлактике интернет устроен именно так, как вы и говорите. Но что-то мне подсказивает, что идя подобным путем все будет только усложняться… Так что мы на правильном пути). Просто учитесь граммотно выбирать функции под конкретную задачу. strip_tags, htmlspecialchars,…

либо, для примера из статьи собственная функция с участием parse_url
Прочитав заголовок подумал — «очередной крик душы разработчика, в коде которого нашли способ эксплуатации XSS». Но дочитав до конца понял, что это лучшая статья на тему XSS.
Пожалуйста, закачайте исходник на GitHub.
Спасибо за ответы
При дизайне и верстке сайта учитывались ли версии браузеров посетителей вашего сайта? И как вы относитесь к улучшениям на сайте которые приводят к потере 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 т.р., а по факту меняют на подписи.

P.S. Простите, накипело...
Это печально. Но будем надеяться, что в новых версиях перейдем хотя бы на md5(md5($pass).$salt). Тем более при таком подходе можно даже будет безболезненно обновляться добавив соответствующую логику…
А что там насчет паролей? В предыдущих версиях пароль хешировался md5 и даже без соли.
Когда я готовил опрос каждый язык был отдельным пунктом. Но перед публикацией пришло понимание того, что пунктов слишком много. Вот и пришлось группировать. Конечно, было бы логично разделить C# и C++, Pascal и Delphi, Basic и Visual Basic…
Basic (единственная книга по программированию у нас в школьной библиотеке была). Правда компьютера тогда небыло ни в школе, ни дома. Поэтому писал на листочке в тетрадке) Мечтал когда же появится компьютер и я проверю свою программы. И вот, компьютер появился. Но, как выяснилось, на бейсике уже никто не писал.
Поэтому у меня путь был примерно следующий
Basic -> C++ -> Assembler -> Delphi -> Turbo Pascal (на факультативах в школе) -> html+css+javascript -> Visual Basic (в институте) -> PHP -> Perl -> Asp

Пройдя такой путь от крякмиксов до банальной верстки сайтов понял, что веб это мое. И остановился на связке javascript+php.
Видимо из-за этого пункта опрос сливают.

Information

Rating
Does not participate
Location
Калининград (Кенигсберг), Калининградская обл., Россия
Date of birth
Registered
Activity