Javascript 如何将HTML表单中的单词列入黑名单?

Javascript 如何将HTML表单中的单词列入黑名单?,javascript,php,html,Javascript,Php,Html,我想知道我是如何将某些单词列入黑名单的。特别是用户名字段。我不确定是否需要访问PHP/JS文件,但我对这些文件的访问权限有限 <div class="form-group"> <label for="username" class="control-label">{{ lang('signup.username') }}</label> <input type="text" class="form-control" id="username" v

我想知道我是如何将某些单词列入黑名单的。特别是用户名字段。我不确定是否需要访问PHP/JS文件,但我对这些文件的访问权限有限

<div class="form-group">
  <label for="username" class="control-label">{{ lang('signup.username') }}</label>
  <input type="text" class="form-control" id="username" value="{{ data['login'] }}" name="RegistrationForm[login]" placeholder="Enter username">'===
</div>
{% if name_fields %}

{{lang('signup.username')}
'===
{%if name_fields%}

函数名为($data){
$U名称=数组(
“社交向导”、“社交向导”、“批量跟随”、“批量跟随”
);
foreach($banked_name作为$banked_name){
$pattern='/('.$banked_name.')/';
$match=preg_match($pattern,$data);
如果($match){
返回true;
}
}
返回false;
}
如果(是禁止的名称($\u POST['username'])){
&时代;
{{errorMessage}}
}

您可以通过PHP使用javascript来实现这一点,但javascript并不安全,因为用户可以操纵或禁用javascript


function is_banned_name($data) {
           $banned_names = array(
               'admin', 'test', 'user', 'fake', 'hack', 'error'
           );


           foreach($banned_names as $banned_name) {

               $pattern = '/('.$banned_name.')/';

               $match = preg_match($pattern,$data);

               if($match) {

                   return true;

               }

           }

           return false;
       }
那么你可以说

if(is_banned_name($_POST['username'])) {
 // do something
}

您可以使用JavaScript来实现,但这并不可取。下面的代码是JavaScript代码将如何实现这一点的示例。如果名称包含被禁止的名称,则代码将返回true

function is_banned_name(str) { 
var banned_names = ['admin', 'hacker', 'test', 'user', 'free']; banned_names.forEach(element => { 
if(str.match(element)) { return true; } 
}); 
} ```

我们在这个网站上不赚钱,但谢谢你可以在数据库中添加黑名单上的用户名,无论何时发布帖子,你都可以检查是否有黑名单上的单词。你可以用JavaScript来实现这一点,但对于决心禁用它的人来说,这是非常容易的。最好使用PHP在服务器端完成。感谢您的回复!我在把这个添加到我的表格中有点困难(我是一个还在学习的noob,哈哈),我需要修改什么才能让它工作呢?(添加到OP)如果你把它添加到你的PHP代码中,你用PHP编程吗?不,我只能访问“twig”文件,所以大部分都是HTML,但也有一些脚本。我对后端的访问有限AddInng
preg_quote
在使用正则表达式测试禁用名称时会更好
function is_banned_name(str) { 
var banned_names = ['admin', 'hacker', 'test', 'user', 'free']; banned_names.forEach(element => { 
if(str.match(element)) { return true; } 
}); 
} ```