Автозаполнение формы через URL, а затем отправить?
У меня работает автоматическое заполнение этой формы: http://getpocket.com/save
Я использую его, а не API, чтобы он работал, когда пользователи вошли в Pocket в том же браузере, что и мой веб-сайт.
Однако не очень удобно нажимать "сохранить", так как я могу "автоматизировать" это?
Я не буду показывать свой код, потому что это просто сгенерировать ссылку в форме:
http://getpocket.com/save/?title=thetitle&url=encodedurl
Он заполняет форму нормально, но как я могу отправить? Я пытался присоединиться &save
а также &submit
а потом каждый из тех =True
, напрасно. Проблема в том, что кнопка сохранения не имеет name=
поле, которое используется для подключения к полям заголовка и URL?
РЕДАКТИРОВАТЬ: Просто чтобы прояснить, у меня не было никаких злых намерений, только чтобы сохранить статьи для чтения позже при нажатии кнопки.
Если я найду время, я посмотрю на API.
1 ответ
К счастью, это невозможно (на Pocket и большинстве сайтов) из-за защиты запросов на подделку между сайтами, чтобы предотвратить именно то, что вы пытаетесь сделать.
Токен устанавливается в форме, и вместе с информацией о сеансе для пользователя в кармане (или на любом другом сайте, использующем защиту токена csfr) ему потребуется сформировать своего рода секретный хеш. Когда форма 'сохранить' будет отправлена, будет проверена комбинация этих строк и, как правило, будут установлены новые строки. Поскольку (практически) нет никаких шансов, что вы сможете предсказать токен из самой формы и у вас нет реального способа манипулировать сессионным хешем, вам не повезло. И мы все очень рады за это:).
В противном случае вы можете сделать ссылки на другие сайты, которые будут удалять всю базу данных, когда вы случайно нажмете на них и т. Д.
Короче говоря, вы не можете.
В любой форме без защиты csrf вам нужно указывать не URL страницы с формой, а "действие" формы. Вы можете увидеть это действие, проверив форму с помощью инспектора DOM вашего браузера. Но, как я уже сказал, защита csrf не позволит работать в большинстве случаев.
http://en.wikipedia.org/wiki/Cross-site_request_forgery
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)