Php 防止html注入的安全注册表表单
我正在创建一个应用程序,它有两种类型的用户(雇主、求职者),但我有一个安全问题(html注入),在我的表单中,我有一个调用“account\u type\u id”的隐藏字段,我在AuthController中检查帐户类型,并根据帐户类型验证或创建此类型的用户数据 起初我想在同一个控制器中使用不同用户的注册,但现在我不太确定如何在AuthController中检查要注册的用户类型,我注意到两者的唯一区别是它们使用不同的路由,其中每个使用不同的注册表单 在不使用表单上的隐藏字段的情况下,如何检查正在注册的用户类型 示例代码:Php 防止html注入的安全注册表表单,php,laravel,laravel-5,Php,Laravel,Laravel 5,我正在创建一个应用程序,它有两种类型的用户(雇主、求职者),但我有一个安全问题(html注入),在我的表单中,我有一个调用“account\u type\u id”的隐藏字段,我在AuthController中检查帐户类型,并根据帐户类型验证或创建此类型的用户数据 起初我想在同一个控制器中使用不同用户的注册,但现在我不太确定如何在AuthController中检查要注册的用户类型,我注意到两者的唯一区别是它们使用不同的路由,其中每个使用不同的注册表单 在不使用表单上的隐藏字段的情况下,如何检查正
AuthController:
protected function validator(array $data)
{
$accountType = AccountType::find($data['account_type_id']);
if($accountType->name === "employer"){
return Validator::make($data, [
//employer validation
]);
}else{
return Validator::make($data, [
//candidate validation
...
]);
}
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
// Check type of account
$accountType = AccountType::find($data['account_type_id']);
if($accountType->name === "employer"){
//employer create
}else{
//Candidate user create
}
return $user;
}
有人可以在你的应用程序上注册为雇主或求职者吗?如果是,那么这些检查是不相关的/不需要的。您是否可以将表单发布到调用同一注册方法的两个单独的路由?这样您可以设置一个变量来区分控制器中的用户类型?除非您有会话或该用户特有的内容,否则无法区分它们,在任何情况下,用户都将选择他想要的内容,最好给他们一个复选框来选择或使用路由路径来检测谁是谁。