PageSourceSearch

https://forem-admin.netlify.app/assets/js/c4528eec.e1b0dc6f.js

js forem-admin.netlify.app collected 2026-10-03 10:45:24 UTC 9,985 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkforem_admin=self.webpackChunkforem_admin||[]).push([[5398],{3905:function(e,t,i){i.d(t,{Zo:function(){return c},kt:function(){return p}});var a=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function o(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?r(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function m(e,t){if(null==e)return{};var i,a,n=function(e,t){if(null==e)return{};var i,a,n={},r=Object.keys(e);for(a=0;a<r.length;a++)i=r[a],t.indexOf(i)>=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(a=0;a<r.length;a++)i=r[a],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=a.createContext({}),s=function(e){var t=a.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):o(o({},t),e)),i},c=function(e){var t=s(e.components);return a.createElement(l.Provider,{value:t},e.children)},d={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var i=e.components,n=e.mdxType,r=e.originalType,l=e.parentName,c=m(e,["components","mdxType","originalType","parentName"]),u=s(i),p=n,h=u["".concat(l,".").concat(p)]||u[p]||d[p]||r;return i?a.createElement(h,o(o({ref:t},c),{},{components:i})):a.createElement(h,o({ref:t},c))}));function p(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=i.length,o=new Array(r);o[0]=u;var m={};for(var l in t)hasOwnProperty.call(t,l)&&(m[l]=t[l]);m.originalType=e,m.mdxType="string"==typeof e?e:n,o[1]=m;for(var s=2;s<r;s++)o[s]=i[s];return a.createElement.apply(null,o)}return a.createElement.apply(null,i)}u.displayName="MDXCreateElement"},6189:function(e,t,i){i.r(t),i.d(t,{default:function(){return c},frontMatter:function(){return o},metadata:function(){return m},toc:function(){return l}});var a=i(7462),n=i(3366),r=(i(7294),i(3905)),o={description:"How to use Rate Limits & Anti-spam tooling.",sidebar_position:56},m={unversionedId:"advanced-customization/rate-limits-and-anti-spam",id:"advanced-customization/rate-limits-and-anti-spam",isDocsHomePage:!1,title:"Rate Limits & Anti-Spam",description:"How to use Rate Limits & Anti-spam tooling.",source:"@site/docs/advanced-customization/rate-limits-and-anti-spam.md",sourceDirName:"advanced-customization",slug:"/advanced-customization/rate-limits-and-anti-spam",permalink:"/docs/advanced-customization/rate-limits-and-anti-spam",editUrl:"https://github.com/forem/admin-docs/edit/main/docs/advanced-customization/rate-limits-and-anti-spam.md",version:"current",sidebarPosition:56,frontMatter:{description:"How to use Rate Limits & Anti-spam tooling.",sidebar_position:56},sidebar:"tutorialSidebar",previous:{title:"Billboards",permalink:"/docs/advanced-customization/billboards"},next:{title:"Navigation Links",permalink:"/docs/advanced-customization/navigation-links"}},l=[{value:"Rate Limit Article Update",id:"rate-limit-article-update",children:[]},{value:"Rate Limit User Update",id:"rate-limit-user-update",children:[]},{value:"Rate Limit Feedback Message Creation",id:"rate-limit-feedback-message-creation",children:[]},{value:"Rate Limit Follow Count Daily",id:"rate-limit-follow-count-daily",children:[]},{value:"Rate Limit Comment Creation",id:"rate-limit-comment-creation",children:[]},{value:"Rate Limit Comment AntiSpam Creation",id:"rate-limit-comment-antispam-creation",children:[]},{value:"Rate Limit Mention Creation",id:"rate-limit-mention-creation",children:[]},{value:"Rate Limit Listing Creation",id:"rate-limit-listing-creation",children:[]},{value:"Rate Limit Published Article Creation",id:"rate-limit-published-article-creation",children:[]},{value:"Rate Limit Image Upload",id:"rate-limit-image-upload",children:[]},{value:"Rate Limit Email Recipient",id:"rate-limit-email-recipient",children:[]},{value:"Rate Limit Organization Creation",id:"rate-limit-organization-creation",children:[]},{value:"Rate Limite Reaction Creation",id:"rate-limite-reaction-creation",children:[]},{value:"Rate Limit Sent Email Confirmation",id:"rate-limit-sent-email-confirmation",children:[]},{value:"Rate Limit User Subscription Creation",id:"rate-limit-user-subscription-creation",children:[]},{value:"Spam Trigger Terms",id:"spam-trigger-terms",children:[]}],s={toc:l};function c(e){var t=e.components,i=(0,n.Z)(e,["components"]);return(0,r.kt)("wrapper",(0,a.Z)({},s,i,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("div",{className:"admonition admonition-important alert alert--info"}
1,(0,r.kt)("div",{parentName:"div",className:"admonition-heading"},(0,r.kt)("h5",{parentName:"div"},(0,r.kt)("span",{parentName:"h5",className:"admonition-icon"},(0,r.kt)("svg",{parentName:"span",xmlns:"http://www.w3.org/2000/svg",width:"14",height:"16",viewBox:"0 0 14 16"},(0,r.kt)("path",{parentName:"svg",fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))),"important")),(0,r.kt)("div",{parentName:"div",className:"admonition-content"},(0,r.kt)("p",{parentName:"div"},"We're in the middle of some fast-moving changes to the Forem Admin experience, so we've paused documentation updates for the time being. You may find that the docs are now outdated in parts. If you have any questions, please visit ",(0,r.kt)("a",{parentName:"p",href:"https://forem.dev"},"forem.dev")," to request additional support. We thank you for your patience and hope you're liking the changes!"))),(0,r.kt)("p",null,"Note: Some limits only apply to new users. The number of days a user is considered new defaults to 3 but can be configured."),(0,r.kt)("h3",{id:"rate-limit-article-update"},"Rate Limit Article Update"),(0,r.kt)("p",null,"The number of articles a user can update within 30 seconds. To limit the number of articles a user can publish, see ",(0,r.kt)("a",{parentName:"p",href:"https://admin.forem.com/docs/advanced-customization/rate-limits-and-anti-spam#rate-limit-published-article-creation"},"Rate Limit Published Article Creation")," below."),(0,r.kt)("h3",{id:"rate-limit-user-update"},"Rate Limit User Update"),(0,r.kt)("p",null,"The number of profile updates a user can make within 30 seconds."),(0,r.kt)("h3",{id:"rate-limit-feedback-message-creation"},"Rate Limit Feedback Message Creation"),(0,r.kt)("p",null,"The number of times a user can submit feedback within a 5 minute period."),(0,r.kt)("h3",{id:"rate-limit-follow-count-daily"},"Rate Limit Follow Count Daily"),(0,r.kt)("p",null,"The number of users a person can follow in one day."),(0,r.kt)("h3",{id:"rate-limit-comment-creation"},"Rate Limit Comment Creation"),(0,r.kt)("p",null,"The number of comments a user can create within 30 seconds."),(0,r.kt)("h3",{id:"rate-limit-comment-antispam-creation"},"Rate Limit Comment AntiSpam Creation"),(0,r.kt)("p",null,"The number of comments a new user can create within a 5 minute period."),(0,r.kt)("h3",{id:"rate-limit-mention-creation"},"Rate Limit Mention Creation"),(0,r.kt)("p",null,"The number of times a user can @-mention other uses in a comment or post."),(0,r.kt)("h3",{id:"rate-limit-listing-creation"},"Rate Limit Listing Creation"),(0,r.kt)("p",null,"The number of listings a user can create in 1 minute."),(0,r.kt)("h3",{id:"rate-limit-published-article-creation"},"Rate Limit Published Article Creation"),(0,r.kt)("p",null,"The number of articles that a user can publish within 30 seconds."),(0,r.kt)("h3",{id:"rate-limit-image-upload"},"Rate Limit Image Upload"),(0,r.kt)("p",null,"The number of images a user can upload within 30 seconds."),(0,r.kt)("h3",{id:"rate-limit-email-recipient"},"Rate Limit Email Recipient"),(0,r.kt)("p",null,"The number of emails we send to a user within 2 minutes."),(0,r.kt)("h3",{id:"rate-limit-organization-creation"},"Rate Limit Organization Creation"),(0,r.kt)("p",null,"The number of organizations a user can create within a 5 minute period."),(0,r.kt)("h3",{id:"rate-limite-reaction-creation"},"Rate Limite Reaction Creation"),(0,r.kt)("p",null,"The number of times a user can react in a 30 second period."),(0,r.kt)("h3",{id:"rate-limit-sent-email-confirmation"},"Rate Limit Sent Email Confirmation"),(0,r.kt)("p",null,"The number of times we will send a confirmation email to a user in a 2 minute period."),(0,r.kt)("h3",{id:"rate-limit-user-subscription-creation"},"Rate Limit User Subscription Creation"),(0,r.kt)("p",null,"The number of user subscriptions a user can submit within 30 seconds."),(0,r.kt)("h3",{id:"spam-trigger-terms"}
1,"Spam Trigger Terms"),(0,r.kt)("p",null,"Individual (case insensitive) phrases that trigger spam alerts, comma-separated. For example, if you are seeing a lot of spam about illegal movie downloads, you might want to consider adding these phrases: ",(0,r.kt)("inlineCode",{parentName:"p"},"fullhd 1080p, free movie download")," to this field."),(0,r.kt)("p",null,"If any posts are published with these keywords, they will be auto-reported by your mascot as vomit reactions that you can confirm or mark as invalid in ",(0,r.kt)("inlineCode",{parentName:"p"},"/admin/moderation/reports"),"."),(0,r.kt)("p",null,"If any user names contain these strings they will also be flagged and user vomited, making their user score recalculat to a below zero",(0,r.kt)("a",{parentName:"p",href:"https://github.com/forem/forem/pull/14858"},(0,r.kt)("sup",null,"[14858]"))))}c.isMDXComponent=!0}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.