Kirill
Этого обычно достаточно
Ilia
просто api не должно делать то что оно не должно делать (просто гениально)
Ilia
и тогда пофиг что там на клиенте
Ilia
пусть хоть свою морду пишут
Slava
Кирилл, а как это поможет защитить пользователя от самого себя то? =)
Slava
это скорее от MitM
Slava
клиенту никогда доверять нельзя - это аксиома
Kirill
Кирилл, а как это поможет защитить пользователя от самого себя то? =)
А нормальная сборка и так исключает возможность заменить конкретную функцию
Slava
не понимаю о чём ты
Slava
в исходном сообщение спрашивают как защитить spa на клиенте от изменения самим клиентом
Kirill
Тогда я тоже не понимаю о чём ты :)
Slava
ответ - никак
Kirill
Ну - смотря что подразумевается под изменением
Slava
да не важно что подразумевается
Slava
то что ушло к клиенту - уже не в нашей юрисдикции
Slava
он может распечатать этот spa и использовать по предназначению в уборной
Anonymous
https://changelog.com/gotime
Roman
давайте уточню проблему. вот есть у нас в api запрос на выдачу json с какой то инфой по фильтру. на сервере мы должны как то защититься от того, что пользователь нарушит границу доступа, подменив spa-код на js и указав запрос от другого пользователя. я так понимаю, тут могут помочь только скрытые куки сессии?
Anonymous
Бывает так что у пользователя заблокировано и сохранение печенек и отключён яваскрипт. Самый оптимальный вариант, это создавать сессию на сервере, например в БД хранить её, а пользователю класть идентификатор этой сессии в hidden если это html страничка.
Anonymous
Динамические айпи испортят всю работу. Особенно на мобильных устройствах, с переподключением интернета.
Эмин
Сессию хранить в БД не самая удачная идея
Эмин
лучше уж redis
Anonymous
Ну, смысла не особо меняет. Печеньки если хранить, то обязательно шифровать их.
Anonymous
Ну да, тем более нужно продумать что за соль использовать(можно придумать рецепт не сохраняя соль), или где хранить её. Так-то, в бинарнике только прошаренный буит её искать.
Roman
а если он скопирует себе печеньку от соседа?
Anonymous
а если он скопирует себе печеньку от соседа?
Можно в печеньку сунуть некоторые параметры, которые не подойдут соседу. Только успевай фантазировать, что можно придумать.
Anonymous
а если он скопирует себе печеньку от соседа?
Засунь в куки идентификатор Браузер палюбому сливает данные
Anonymous
При коннекте сверяй данные в куках с текущими
Anonymous
Ток я в вебе 0, может это все хрень))
🄽🄸🄺🄸🅃🄰
Хай. Есть кто во Вьетнаме?
🄽🄸🄺🄸🅃🄰
Вероятность такая точно есть)))
🄽🄸🄺🄸🅃🄰
Я вот в Нячанг прилетел из Ханоя.
🄽🄸🄺🄸🅃🄰
Отзовитесь ежели чё. Проведём локальный гокон)))))
Anonymous
Посмотрел я за окно, тощие собаки бегают, снег, минус десять. Я по прежнему хде-то в Рассеи.
Igor
был в Сайгоне 5 дней назад, немного разминулись
𝒦𝒶𝓁𝒶𝓎⛩
В компании в которой я работаю максимум могут отправить до магазина)
Anonymous
Хай. Есть кто во Вьетнаме?
Напиши то же самое, но на вьетнамском. Вероятность найти односельчан увеличится 😄
Vitalii
Я из Вьетнама:)
Vitalii
xin chào
Dmitriy / დიმიტრი
Кто вот этой либой пользовался: https://godoc.org/gopkg.in/pg.v5 Покажите код, как сделать insert и обратно получить id. Не понимаю как это работает.
Dmitriy / დიმიტრი
А то в документации нормальных примеров почти нихера
Dmitriy / დიმიტრი
Проблема не в том, что я не могу сделать insert, а в том, что я не могу получить id того, что заинсертил.
Anonymous
Проблема не в том, что я не могу сделать insert, а в том, что я не могу получить id того, что заинсертил.
Exec возвращает какой-то результат, там смотрел что внутри? P.S. ан нет, вроде ничего полезного...
I
Всем привет. По какой причине может писать undefined: FuncName? Gopath стоит, внешние пакеты видит, а вот локальные нет
I
причем локальные не в папке, а рядом с главным
Anonymous
причем локальные не в папке, а рядом с главным
Имена пакетов в файлах одинаковые?
I
package который?
Anonymous
package blah-blah
Anonymous
Да
I
package main везде
Александр
I
пробовал советы из интернета типа go build *.go тоже не помогает
Александр
вот тут есть ответ
Anonymous
А имя точно FuncName? Может там русская 'c'?
Anonymous
Скопируй чтобы наверняка ))
I
А имя точно FuncName? Может там русская 'c'?
Точно, я проверял через функцию Q() )
I
просто тупо делал main () который вызывает Q
Anonymous
Я даже не знаю, как такое специально можно сделать тогда... То есть даже маленький пример из двух файлов уже вызывает такую проблему?
I
Я даже не знаю, как такое специально можно сделать тогда... То есть даже маленький пример из двух файлов уже вызывает такую проблему?
А еще при go build *.go выкидывает такие ошибки `cannot find package "github.com/gorilla/mux"` хотя они в gopath есть и иде подсвечиват, доки показывает там
Александр
http://i.imgur.com/xiGv26S.png
если автор вопроса работает с моделью, то да, но как я понял, он хочет выполнить какой-то кастомный инсерт, не используя модель, в таком случае c pg только через RETURNING id
I
Мб у IDE и конпелятора разные GOPATH?
действительно, слетела переменная, source ~/.profile помогло для билда, спасибо
I
main.go —---------------— package main func main() { Q() } —---------------— q.go —---------------— package main func Q() { println("Foo") } —---------------— go run main.go "# command-line-arguments" "./main.go:4:3: Undefined: Q" echo $GOPATH /home/ilya/gopath lh total 8,0K -rw-rw-r-- 1 ilya ilya 36 янв 18 20:12 main.go -rw-rw-r-- 1 ilya ilya 44 янв 18 20:12 q.go go version go version go1.9.2 linux/amd64
I
а чё в дефолтном http сервере нельзя делать DELETE эндпоинты?
Aleksandr
а чё в дефолтном http сервере нельзя делать DELETE эндпоинты?
как нельзя? он вообще оперирует только реквестами
I
ась?
MethodNotAllowed
I
Хотя get, post работают
I
Хотя может я не правильно .Methods("DELETE") вызываю