codeigniter-3 - 如何防止登录时的sql注入
问题描述
如何在管理员登录中添加 SQL 注入功能?
C_Log_Funtion
function index(){
if (isset($_POST['submit'])){
$username = $this->input->post('a');
$password = hash("sha512", md5($this->input->post('b')));
$cek = $this->model_app->cek_login($username,$password,'users');
$row = $cek->row_array();
$total = $cek->num_rows();
if ($total > 0){
$this->session->set_userdata('upload_image_file_manager',true);
$this->session->set_userdata(array('username'=>$row['username'],
'level'=>$row['level'],
'id_session'=>$row['id_session']));
redirect('administrator/home');
}else{
$data['title'] = 'Username or Password salah!';
$this->load->view('administrator/view_login',$data);
}
}else{
$data['title'] = 'Administrator › Log In';
$this->load->view('administrator/view_login',$data);
}
}
我做了一个这样的功能,但注射了,有解决办法吗?
解决方案
我目前正在尝试向表单添加 codeigniter 默认安全功能
安全性->sanitize_filename
$username = $this->security->sanitize_filename($this->input->post('a',TRUE));
$password = $this->security->sanitize_filename(hash("sha512", md5($this->input->post('b',TRUE))));
到目前为止,我的网站上没有任何注射。
推荐阅读
- swift - 理解 SwiftUI 中的 @Binding
- javascript - 尝试对数字输入求和时出现 NaN 错误
- c - 释放导致崩溃
- javascript - jQuery如何从焦点输入字段值中删除
- ios - tableView 单元格未显示单元格中的任何内容,但它正在控制台中打印内容
- ansible - ansible角色造成的模板错误如何解决
- excel - 如果活动单元格包含特定文本,则清除其内容
- heroku - 由于依赖私有仓库,无法在 Heroku 上部署 Elixir 应用程序
- groovy - 如何解组
FDE 这种类型的 XML 获取 Domain 的值 - php - 为什么 PHPMailer 花费太多时间来发送电子邮件,而且一旦发送电子邮件,我就会收到垃圾邮件