From 422477c065dff98ba0962be098d2119d57085934 Mon Sep 17 00:00:00 2001 From: Fellyph Cintra Date: Wed, 13 Mar 2024 18:12:12 +0000 Subject: [PATCH 1/3] adding new property --- .env.example | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.env.example b/.env.example index 16c34aa..9faec68 100644 --- a/.env.example +++ b/.env.example @@ -9,3 +9,5 @@ port=8080 # port to listen on google-client-id= # google client id facebook-app-id= # facebook app id recaptcha-site-key= # recaptcha site key +turnstile-site-key= # turnstile key + From 464daf4503f27f6eb5b45ed22ed67353847a0b8f Mon Sep 17 00:00:00 2001 From: Fellyph Cintra Date: Wed, 13 Mar 2024 18:12:35 +0000 Subject: [PATCH 2/3] adding new card --- public/assets/styles/style.css | 4 ++++ src/common/index.ejs | 1 + 2 files changed, 5 insertions(+) diff --git a/public/assets/styles/style.css b/public/assets/styles/style.css index e6a0ebc..8b9e880 100644 --- a/public/assets/styles/style.css +++ b/public/assets/styles/style.css @@ -819,6 +819,10 @@ video { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } +.cursor-not-allowed { + cursor: not-allowed; +} + .appearance-none { -webkit-appearance: none; -moz-appearance: none; diff --git a/src/common/index.ejs b/src/common/index.ejs index db81944..b837ece 100644 --- a/src/common/index.ejs +++ b/src/common/index.ejs @@ -22,6 +22,7 @@ <%= renderCard('Facebook Comments', '💬', '/social-media-comments') %> <%= renderCard('Disqus Comments', '✉️', '/disqus-comments') %> <%= renderCard('reCAPTCHA', '🤖', '/google-recaptcha') %> + <%= renderCard('Cloudflare captcha', '🤖', '/cloudflare-turnstile') %> <%= renderCard('CHIPS', '🍪', '/chips') %> <%= renderCard('Storage Access API', '🗃️', '/storage-access-api') %> From 610fba146ab2ee3d1092cc0ffecd49caa712e560 Mon Sep 17 00:00:00 2001 From: Fellyph Cintra Date: Wed, 13 Mar 2024 18:15:34 +0000 Subject: [PATCH 3/3] adding turnstile demo --- app.js | 2 + src/scenarios/cloudflare-turnstile/index.ejs | 44 ++++++++++++++++++++ src/scenarios/cloudflare-turnstile/routes.js | 12 ++++++ 3 files changed, 58 insertions(+) create mode 100644 src/scenarios/cloudflare-turnstile/index.ejs create mode 100644 src/scenarios/cloudflare-turnstile/routes.js diff --git a/app.js b/app.js index b322eeb..58f368d 100644 --- a/app.js +++ b/app.js @@ -36,6 +36,7 @@ app.use((req, res, next) => { res.locals.googleClientId = process.env['google-client-id']; res.locals.facebookAppId = process.env['facebook-app-id']; res.locals.recaptchaSiteKey = process.env['recaptcha-site-key']; + res.locals.turnstileSiteKey = process.env['turnstile-site-key']; res.locals.port = process.env.port; res.locals.isPortPresent = req.get('host').includes(':'); res.locals.currentDomain = req.get( 'host' ); @@ -76,6 +77,7 @@ const scenarios = [ 'social-media-comments', 'disqus-comments', 'google-recaptcha', + 'cloudflare-turnstile', ]; scenarios.forEach(scenario => { const scenarioRoutes = require(`./src/scenarios/${scenario}/routes`); diff --git a/src/scenarios/cloudflare-turnstile/index.ejs b/src/scenarios/cloudflare-turnstile/index.ejs new file mode 100644 index 0000000..1d723fb --- /dev/null +++ b/src/scenarios/cloudflare-turnstile/index.ejs @@ -0,0 +1,44 @@ +<%- include(commonPath + '/header.ejs') %> + +<%- include(commonPath + '/internal-page/header.ejs', {containerType: 'sm'}) %> +
+
+
+ +
+<%- include(commonPath + '/internal-page/footer.ejs') %> + + +<%- include(commonPath + '/footer.ejs') %> diff --git a/src/scenarios/cloudflare-turnstile/routes.js b/src/scenarios/cloudflare-turnstile/routes.js new file mode 100644 index 0000000..507e027 --- /dev/null +++ b/src/scenarios/cloudflare-turnstile/routes.js @@ -0,0 +1,12 @@ +const express = require('express'); +const path = require('path'); +const router = express.Router(); + +router.get('/', (req, res) => { + // Send the default page + res.render(path.join(__dirname,'index'), { + title: 'Cloudflare CAPTCHA' + }); +}); + +module.exports = router;