Я надеюсь, что кто-то там может мне помочь понять, как нашивки должны работать с CakePHP 3.CakePHP 3 Stripe форма оплаты
У меня есть форма с Stripe платежных полей и несколько полей для моего торта приложения. Из документации Stripe это, кажется, приемлемый способ ее настройки.
HTML, является довольно стандартным, но обратите внимание, как каждый вход для чувствительной данных-номер, CVC, истечения срока действия, и почтовый индекс-опускает имя атрибут. Опуская имя, данные, предоставленные пользователем в этих полях , не будут переданы на ваш сервер при отправке формы. Каждый элемент также включает атрибут полосы данных, который будет рассмотрен ниже.
Теперь я использую cakephp 3, который, похоже, не позволяет мне удалять свойства из HTML, сгенерированного помощником формы. Я могу только сделать свойство «имя» пустым. Я запросил это с поддержкой Stripe, и они были немного уклончивы. Они, как правило, очень хороши, но в этом случае ответ казался «лучше безопасным, чем жалко».
Мой главный вопрос: действительно ли это важно, если вы не используете вспомогательный элемент формы для полей Stripe. Основное преимущество, которое я могу найти в документах торта, заключается в том, что компонент CSRF будет действовать в этих полях. Я использую компонент CSRF во всем приложении, но поскольку поля Stripe даже не отправляются на сервер, компонент CSRF не имеет значения. Не так ли?
Вот выдержка из руководства CakePHP:
CsrfComponent работает путем установки куки в браузер пользователя. Когда формы создаются с помощью Cake \ View \ Helper \ FormHelper, добавляется скрытое поле , содержащее токен CSRF. Во время события Controller.startup, если запрос является POST, PUT, DELETE, PATCH , попросите компонент сравнить данные запроса & значение cookie. Если отсутствует или два значения не совпадают, компонент будет вызывать aCake \ Network \ Exception \ InvalidCsrfTokenException.
Я все еще могу использовать хелпер формы для нескольких полей, которые передаются в базу данных, и просто добавлять поля Stripe с HTML?
Это имеет смысл?
Поддержка полосы позволяет предположить наличие двух отдельных форм: одного для данных торта и одного для данных Stripe, но поскольку их документы говорят, что вы можете добавлять поля Stripe в форму, которая отправляется на сервер, что кажется немного нечетным ,
Я бы очень признателен за ввод данных, поскольку кажется, что даже сама полоса не уверена, как структурировать форму оплаты cakephp!
Что делать, если вы присвоили атрибуту name 'false' или' null' ?? В крайнем случае, используйте свой собственный помощник или не используйте помощники вообще, напишите форму вручную. – Antoniossss
Определенно не включайте атрибут 'name', если вы можете его избежать. Это просто не безопасно. Невозможно ли построить форму в CakePHP без использования помощников формы? Можете ли вы не просто создать его из raw-HTML? – korben