2339

Пообедал фастфудом

Захотелось мне пообедать, да по быстренькому. Фастфуд, лучше всего подходит для такого перекуса. Вспомнил что не так далеко есть Бургер Кинг и решил действовать. Нашел в офисе единомышленников и набрал корзину бургеров, уже и слюна потекла.

Стал оформлять заказ, и после вбивания адреса выскакивает ошибка "Извините, пока мы не доставляем по указанному вами адресу.".

- Хм, как странно. - подумал я - Надо проверить.

На проверке адреса мне показывает следующее:

Приблизим:

Серьезно?! Только этот офис не попадает? Везение явно на моей стороне...

Хотя это похоже просто на ошибку, и если позвонить то они доставят сюда еды. Однако это все объяснять и диктовать всю корзину заказа мне было лень.

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

немного поигравшись с валидацией у меня получилось разместить заказ и уже через 20 минут мы офисом поглощали бургеры :)


Я нашел и опробовал 3 способа разместить заказ обойдя валидацию:

1. Сразу заметил что валидация стоит onclick, это значит что скрипт сработает только если подтверждать заказ кликая на клавишу "Оформить заказ", но ведь еще можно нажать Enter в любом текстовом поле...

2. Все банально - true меняем на false и валидации больше не будет

3. Можно поменять группу по которой пройдет валидация.


Я не уверен какой именно способ в итоге сработал :)



P.S. Прошу прощения за орфографические ошибки и очепятки. В русском плох, зато знаю JavaScript и PHP :)

Офисные будни

6.7K поста17K подписчиков

Правила сообщества

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

-не нарушайте вежливость. За нарушение вежливости -бан, ибо это отталкивает посетителей и авторов.

- не нарушайте правила Pikabu и чтите закон.

- добавляйте посты связанные с тематикой сообщества;
-делитесь опытом организации жизни  в офисе и проживания на работе;
-делитесь управленческим опытом;


Бан за неуместную настойчивость: если вы активно, по несколько раз в неделю, в течение длительного времени размещаете сообщения низкого качества, простецкие и незамысловатые, не ориентированные на интересы аудитории, вы отправляетесь в бан сообщества. Ради качества контента.

Вы смотрите срез комментариев. Показать все
4
Автор поста оценил этот комментарий

Вот поэтому у меня уже давно в голове железное правильно ничего не вешать на onclick прямо в разметке, это бред, бред и еще раз бред.

раскрыть ветку (10)
12
Автор поста оценил этот комментарий

все верно. onclick особенно для button submit - страшный говнокод. Но это не столь важно если нету серверной валидации, все равно взломают, просто чуть дольше посидеть надо будет :)

Поэтому у меня правило №1 это всегда писать серверную валидацию

раскрыть ветку (5)
2
Автор поста оценил этот комментарий

В данном конкретном случае серверная валидация не критична. Адрес не из указанной зоны никак не повлияет на целостность сайта и никак не помешает его работе. И я понимаю почему так сделано. Видимо у виджета яндекскарт есть возможность выделять зоны на карте. Тогда сделать это в браузере довольно просто. А вот реализовать такую же валидацию на сервере - это надо потратить уже куда больше времени. Хз, может как-то получать через апи координаты, вычислять попадают ли они в красные зоны и так далее.

Естественно решили оставить валидацию только у клиента, так как за серверную пришлось дополнительно бы заплатить еще баксов 20-30.

0
DELETED
Автор поста оценил этот комментарий
все верно. onclick особенно для button submit - страшный говнокод.
Это не совсем верно.

Это просто один из недостатков ASP.NET WebForms (https://habrahabr.ru/post/47249/)

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

все верно: ASP.NET WebForms - страшный говнокод

раскрыть ветку (2)
2
Автор поста оценил этот комментарий

секта свидетелей линкукса подоспела. Куда ж без вас.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

я вообще-то JS разраб, и говорю с точки зрения создания современных кастомизируемых интерфейсво

3
Автор поста оценил этот комментарий

лучше сразу переходить на этап в котором любые js события, особенно валидация, сделаны только для удобства пользователя и все всегда перепроверяется на сервере)

раскрыть ветку (2)
4
Автор поста оценил этот комментарий

а чего переходить, изначально нужно так делать и никак иначе

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

И тут я такой хакер обошел валидацию и заказал пиццу в Москву и мне повезли из Минска, а разработчики сидят и плачут: "что же мы сразу валидацию на сервере не сделали?".

2
Автор поста оценил этот комментарий

Мне вот на одном сайте ничего не помешало убрать валидацию в поле "Комментарий" (какогото хера был запрет на перенос строки), хотя код был в отдельном js файле. Нет ничего сложно в переопределении функции валидатора (да и любой вообще функции) через браузерную консоль

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку