mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-03-11 02:12:21 -05:00
ref https://linear.app/tryghost/issue/KTLO-1/members-spam-signups - Some customers are seeing many spammy signups ("hundreds a day") — our hypothesis is that bots and/or email link checkers are able to signup by simply following the link in the email without even loading the page in a browser. - Currently new members signup by clicking a magic link in an email, which is a simple GET request. When the user (or a bot) clicks that link, Ghost creates the member and signs them in for the first time. - This change, behind an alpha flag, requires a new member to click the link in the email, which takes them to a new frontend route `/confirm_signup/`, then submit a form on the page which sends a POST request to the server. If JavaScript is enabled, the form will be submitted automatically so the only change to the user is an extra flash/redirect before being signed in and redirected to the homepage. - This change is behind the alpha flag `membersSpamPrevention` so we can test it out on a few customer's sites and see if it helps reduce the spam signups. With the flag off, the signup flow remains the same as before. |
||
---|---|---|
.. | ||
src | ||
test | ||
.eslintignore | ||
.eslintrc.cjs | ||
.yarnrc | ||
index.html | ||
node-shim.cjs | ||
package.json | ||
playwright.config.mjs | ||
postcss.config.cjs | ||
README.md | ||
tailwind.config.cjs | ||
tsconfig.json | ||
vite.config.mjs |
Admin X Settings
Ghost Admin Settings in React
Development
Pre-requisites
- Run
yarn
in Ghost monorepo root
Running the development version
Run yarn dev
to start the development server to test/develop the settings standalone. This will generate a demo site from the index.html
file which renders the app and makes it available on http://localhost:5173
Running inside Admin
Run yarn dev
(like you would run Ghost dev normally) from the top-level repo. AdminX will automatically rebuild when you make changes.
Develop
This is a monorepo package.
Follow the instructions for the top-level repo.
git clone
this repo &cd
into it as usual- Run
yarn
to install top-level dependencies.
Test
yarn lint
run just eslintyarn test:acceptance
runs acceptance testsyarn test:unit
runs unit testsyarn test:acceptance path/to/test
runs a specific testyarn test:acceptance:slowmo
runs acceptance tests in slow motion and headed mode, useful for debugging and developing tests