Перейти к содержанию
OkayToShip

Пример отчёта

Пример отчёта на нашем тестовом приложении. Мы сделали небольшое приложение и нарочно оставили в нём типичные ошибки, чтобы вы увидели, что именно даёт полный отчёт. Проверено 11 окт. 2026 г. — это настоящие результаты тех же проверок, что мы запускаем для вашего проекта.

Примерdemo.okaytoship.com

Пример отчёта на нашем тестовом приложении · 11 окт. 2026 г.

Оценка 23 из 100

Рано запускать: 2 критические проблемы могут открыть доступ к вашим данным или деньгам — исправьте их первым делом.

22 проблемы: критическая — 2, высокая — 4, средняя — 9, низкая — 6, инфо — 1

  • БезопасностьКритичноГлавный ключ вашей базы данных виден в коде сайта
  • ОплатаКритичноСекретный ключ Stripe виден в коде сайта
  • SEOЕсть замечанияПоисковики и превью ссылок видят пустую страницу
  • СкоростьВ порядкеИсправлять нечего
  • ЮридическоеЕсть замечанияНа главной нет ссылки на политику конфиденциальности
  • РасходыЕсть замечанияСайт обращается к OpenAI прямо из браузера посетителя

22 проблемы, все открыты

Так выглядит полный отчёт. Откройте любую проблему, чтобы увидеть доказательство, риск и способ исправить.

  • Любой может скопировать этот ключ и действовать от имени вашего аккаунта Stripe: видеть клиентов и их платежи, делать возвраты или создавать списания. С вашего счёта могут уйти настоящие деньги.

    Сделайте сегодня: Отзовите этот ключ прямо сейчас в панели Stripe и создайте новый. Он уже публичный, поэтому убрать его из кода недостаточно.

    Как исправить
    1. Отзовите этот ключ прямо сейчас в панели Stripe и создайте новый. Он уже публичный, поэтому убрать его из кода недостаточно.
    2. Перенесите новый ключ только на сервер: в Edge Function, API-маршрут или бэкенд, где он читается из секретной переменной окружения. Никогда не давайте ему публичный префикс вроде VITE_, NEXT_PUBLIC_ или REACT_APP_.
    3. Пусть страница вызывает вашу серверную функцию вместо прямого использования ключа.
    4. В браузере используйте только публичный (publishable) ключ. Сессии оплаты создавайте на сервере с секретным ключом.
    5. Опубликуйте сайт заново и запустите проверку, чтобы убедиться, что ключа больше нет.

    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.

    Что нашли
    https://demo.okaytoship.com/assets/index-D6yG_D9G.jsStripe live secret key: sk_liv…