🎉 Better Boilerplate by Not Quite Unicorns - Our take on what a good Bubble app looks like

Sorry I was confused by the Global use of return data in custom event. I thought that was somehow secured by server side checks. Didn’t realize it just was used to show errors if the condition didn’t evaluate to yes.

If you are not interested in API connector or APP connector, consider revisiting this post

Would definitely help the community for @georgecollier to give a numeric list of the suggestions he feels improve the app.

Rando, the parrot said you do not know what you are talking about…funny how parrots repeat things they hear.

I went ahead and asked Chat GPT for a more detailed and refined answer. Basically, it said ‘Simple IP spoofing of HTTPS/TCP traffic is impractical. It says an attacker must complete a 3-way handshake which they can not do if they can’t receive packets at the spoofed IP. So naive spoofing of an HTTPS webhook IP is generally not possible.

What was great though Rando about your comment, is it led me to find out something I didn’t know and nobody else has mentioned here around security related to Stripe.

Recommended approach

  1. Always verify Stripe’s webhook signature (the Stripe-Signature Header) using the webhook signing secret from your Stripe Dashboard. This is an HMAC (SHA256) of the payload.
  2. Use timestamp tolerance/replay protection. Reject requests whose timestamp in the signature header is older than around 5 minutes.
  3. Require HTTPS
  4. Use IP allow list as a secondary control only.