My sveltekit app has a form which sends a POST request to server. The app is working fine on dev server but when I build and run the app it fails to send the form data via POST request. It shows the following error in the browser:
Cross-site POST form submissions are forbidden
CodePudding user response:
This is a built-in protection against cross-site request forgery attacks in Sveltekit. Set csrf
to false
in svelte.config.js
to allow cross-site post requests.
See csrf in the Sveltekit configuration docs
import adapter from '@sveltejs/adapter-node'
const config = {
kit: {
adapter: adapter(),
csrf: false,
},
}
export default config
CodePudding user response:
You have to set the the ORIGIN env var like this
ORIGIN=http://localhost:3000 node build/index.js