Lumaktaw sa nilalaman
OkayToShip

Halimbawang ulat

Halimbawang ulat sa sarili naming test app. Gumawa kami ng maliit na app at sinadyang mag-iwan ng mga karaniwang pagkakamali, para makita mo kung ano mismo ang makukuha sa buong ulat. Ito ang totoong resulta ng parehong mga check na pinapatakbo namin sa proyekto mo, na-scan noong Okt 11, 2026.

Halimbawademo.okaytoship.com

Halimbawang ulat sa sarili naming test app · Okt 11, 2026

Score na 23 sa 100

Hindi pa handang i-launch: 2 kritikal na problema ang puwedeng maglantad sa data o pera mo — ayusin muna ito.

22 isyu: 2 kritikal, 4 mataas, 9 katamtaman, 6 mababa, 1 info

  • SeguridadNakikita sa code ng site ang master key ng database moKritikal
  • BayadNakikita sa code ng site ang Stripe secret key moKritikal
  • SEOBlangkong page ang nakikita ng search engines at link previewsKailangang ayusin
  • BilisWalang kailangang ayusin ditoOK
  • LegalWalang privacy policy link sa home page moKailangang ayusin
  • GastosDirektang tinatawagan ng site mo ang OpenAI mula sa browser ng bisitaKailangang ayusin

22 isyu, lahat bukas

Ganito ang hitsura ng buong ulat. Buksan ang kahit anong isyu para makita ang ebidensya, panganib at paano ito ayusin.

  • Kahit sino ay puwedeng kopyahin ang key na ito at kumilos bilang Stripe account mo: makita ang mga customer at bayad nila, mag-refund o gumawa ng charges. Puwedeng lumabas ang totoong pera sa account mo.

    Gawin ito ngayon: I-revoke agad ang key na ito sa Stripe dashboard at gumawa ng bago. Public na ito, kaya hindi sapat na alisin lang sa code.

    Paano ayusin

    1. I-revoke agad ang key na ito sa Stripe dashboard at gumawa ng bago. Public na ito, kaya hindi sapat na alisin lang sa code.
    2. Ilipat ang bagong key sa server side lang: isang Edge Function, API route o backend na nagbabasa nito mula sa secret environment variable. Huwag itong bigyan ng public prefix tulad ng VITE_, NEXT_PUBLIC_ o REACT_APP_.
    3. Ipatawag sa page ang server function mo sa halip na gamitin nang direkta ang key.
    4. Sa browser, ang publishable key lang ang gamitin. Gumawa ng payment sessions sa server gamit ang secret key.
    5. I-publish muli ang site at patakbuhin ang scan na ito para makumpirmang wala na ang key.

    Ang nakita namin

    https://demo.okaytoship.com/assets/index-D6yG_D9G.js

    Stripe live secret key: sk_liv…

    My app exposes a Stripe live secret key in the frontend code that every visitor downloads (it starts with "sk_liv…"). Remove this key from all client-side code and from any environment variables that get bundled into the browser. Move every operation that needs it into a server-side function that reads the key from a secret environment variable, and change the frontend to call that function instead. In the browser use only the publishable key. Create checkout sessions on the server with the secret key. I will revoke the old key and add the new one to the secrets myself. If this needs a secret key, put the server-side code in a Supabase Edge Function and store the key in the project's secrets (not in the code). Keep everything else working exactly as it does now and don't touch unrelated files. When you're done, list what you changed.