Top Ad unit 728 × 90

Sử dụng Lớp Security trong Codeigniter

Chào các bạn! 

Sau thời gian dài nghỉ lễ và bận công việc ở công ty nên hôm nay mình mới có thể xuất bản thêm được bài mới! Và bài ngày hôm nay mình sẽ cùng các bạn đi tìm hiểu về một lớp rất quan trọng nó giúp chúng ta có thể bảo mật được web app của chúng ta. Đó là lớp Security

Trong lập trình ứng dụng nói chung và lập trình web nói riêng thì việc bảo mật rất là quan trọng, nó giúp chúng ta bảo vệ dữ liệu của chúng ta khỏi bị rơi vào tay của kẻ xấu, do nhu cầu như vậy nên trong quá trình phát triển Codeigniter đã được các nhà phát triển thêm vào đó một lớp giúp chúng ta bảo vệ dữ liệu và để sử dụng được nó thì chúng ta đi vào bước đầu tiên:



Bước 1: Các bạn vào thư mục config theo đường dẫn sau:

       application\config\config.php

rồi tìm đến dòng : $config['csrf_protection'] = FALSE;
cuối cùng các bạn thay "FALSE" thành "TRUE".
Vậy là chúng ta có thể sử dụng được nó để bảo vệ tránh được lỗi CSRF rồi. Tuy nhiên trước khi dùng nó chúng ta cần làm công việc sau đã mới cho thể làm được, nếu không có bước này nó sẽ báo lỗi sau:


csrf
Báo lỗi CSRF
Và để tránh được lỗi đó các bạn cần tạo thẻ input như sau:

<form method="post" action="">
     <div>
<input type="hidden" name="<?=  $this->security->get_csrf_token_name()?>" value="<?= $this->security->get_csrf_hash()?>" id="__VIEWSTAT" />    </div>
    <div>
<input type="text" name="username" id="__VIEWSTATEs" />
        <input type="password" name="password" id="__VIEWSTATEd" />
    </div>
     <input type="submit" name="" value="Đăng nhập" />
</form>
Các bạn để ý đến cái form mà mình tạo trên có cái dòng mà mình đánh dấu màu đỏ và in đậm đó là điều bắt buộc các bạn phải có trong form nếu không có nó sẽ báo lỗi như trong hình trên, cho nên các bạn chú ý nhé!


Tiếp đến chúng ta dùng cái lớp này để kiểm tra và chống lại lỗ hổng XSS trong web app của mình nhé!
Trước tiên chúng ta cần tìm hiểu chút về thế nào là XSS nhé.
- XSS là tên viết tắt của Cross-site Scripting (XSS) là lỗ hổng cho phép hacker có thể chèn những đoạn mã client-script (thường là Javascript hoặc HTML) vào trang web, khi người dùng vào những trên web này, mã độc sẽ được thực thi trên máy của người dùng.
Trên mình đã nói qua về định nghĩa của XSS cho các bạn rồi và bây giờ chúng ta vào sử dụng lớp này để tăng khả năng chống lại lỗi đó nhé!
Let's go!

Đầu tiên chúng ta có một form đơn gian như sau:

<form action="" method="post">
       <input type="text" name="username" />
       <input type="submit" value="Đăng nhập" />
</form>
Tiếp theo chúng ta sử dụng lớp đó trong controllers và tại file mà các bạn dùng để nhận và xử lý dữ liệu từ form đưa lên nhé!

$username = $this->input->post('username');
$username = $this->security->xss_clean($username);

// khối lệnh của các bạn 
Dòng lệnh mà mình bôi đỏ và in đậm lên đó chính là câu lệnh để chúng ta có thể sử dụng được lớp security để bảo vệ web của bạn không bị dính XSS. Vì hàm XSS_CLEAN trong lớp có tác dụng tìm kiếm những ký tự không đúng để nó mã hóa lại.

Vậy nhé! Bài học cũng khá dài rồi mình sẽ dừng tại đây! Cảm ơn các bạn đã theo dõi bài viết của mình!
Sử dụng Lớp Security trong Codeigniter Reviewed by Thế Giới Tri Thức on tháng 9 07, 2017 Rating: 5

Không có nhận xét nào:

All Rights Reserved by THẾ GIỚI TRI THỨC © 2018
Thiết kế bởi: THẾ GIỚI TRI THỨC

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.