Laravel

Tăng bảo mật website bằng htaccess

Ngoài việc áp dụng các kỹ thuật trong Code hôm nay tôi muốn giới thiệu đến các bạn 3 kỹ thuật đối với file .htaccess để tăng tính bảo mật cho website của bạn. Các kỹ thuật này thêm các header bảo mật bổ sung cho tất các các tài nguyên của website bạn. Cụ thể, tôi sẽ giải thích các thêm  Header X-Security để bảo vệ chống lại các kiểu tấn công: Cross-site scripting (XSS), Page-framing và Content-sniffing. Việc thêm các header này rất đơn giản nhưng hiệu quả trong việc tăng tính bảo mật cho website của bạn rất cao.

Review code Laravel đẹp, chuẩn

Qua một thời gian dài làm việc, coding với Laravel, review code của các thành viên khác cũng như tham khảo từ nhiều cao thủ Laravel khác tôi xin tổng hợp lại một số code smell trong laravel và cách khắc phục. Hi vọng sau khi đọc bài này các bạn sẽ có một bộ souce Laravel đẹp, đúng chuẩn dễ dàng bảo trì và tối ưu nhất. Trong phần này tôi sẽ đề cập đến những vấn đề cơ bản nhất mà một lập trình viên từ  junior đến senior đều phải nắm vì vậy tôi cũng chỉ giải thích ngắn gọn nhất có thể. Các vấn đề về nguyên lý SOLID, các patterns... tôi sẽ tập trung trong một bài viết khác.


Cách Laravel chống SQL Injection, CSRF, XSS


Laravel đảm bảo ứng dụng web của bạn được bảo vệ chống lại 3 nguy cơ bảo mật nghiêm trọng : SQL injection, cross-site request forgery (CSRF), và cross-site scripting (XSS). Bài viết ngắn gọn sau giúp các bạn hiểu được cách mà Laravel thực hiện.

Laravel 5 Load Seed Data từ JSON

Trên laravel bạn muốn import dữ liệu từ 1 file Json có sẵn, sử dụng seeder của laravel, đây là một Tip hay dành cho bạn. Ở đây tôi muốn seed dữ liệu users.
- Giả sử tôi có 1 file users.json, tôi đặt file này trong thư mục database của laravel. File json của tôi có dạng:

[
  {
    "id": "1",
    "email": "admin@admin.com",
    "first_name": "Minh",
    "last_name": "Nguyen",
    "password": "$2y$10$5dIuEeS1C4oKij41rYFBU.SXtaztO2XqHHvT/U3Mi9wB86znOcqY2"
  },
  {
    "id": "2",
    "email": "aaaa@minhcat.info",
    "first_name": "Lan",
    "last_name": "Ngoc",
    "password": "$2y$10$5dIuEeS1C4oKij41rYFBU.SXtaztO2XqHHvT/U3Mi9wB86znOcqY2"
  },
  {
    "id": "3",
    "email": "bbbb@minhcat.info",
    "first_name": "Van",
    "last_name": "Test",
    "password": "$2y$10$5dIuEeS1C4oKij41rYFBU.SXtaztO2XqHHvT/U3Mi9wB86znOcqY2"
  }
]

- Tiếp theo tôi tạo file seeder trong thư mục /database/seeds
UserTableSeeder.php
 delete();
        $json = File::get("database/users.json");
        $data = json_decode($json);
        foreach ($data as $obj) {
          User::create(array(
            'id' => $obj->id,
            'email' => $obj->email,
            'first_name' => $obj->first_name,
            'last_name' => $obj->last_name,
            'password' => $obj->password
          ));
        }
    }
}
?>

- File migration để tạo tables users:
increments('id');
               $table->string('email')->unique();
               $table->string('first_name');
               $table->string('last_name');
               $table->string('password', 60);
               $table->rememberToken();
               $table->timestamps();
          });
     }
     /**
     * Reverse the migrations.
     *
     * @return void
     */
     public function down()
     {
          Schema::drop('users');
     }
}
 - Bây giờ bạn chỉ việc chạy lệnh: "php artisan db:seed" là dữ liệu sẽ được đưa vào database từ file json của bạn.

Tạo function dùng chung bằng Helpers trên Laravel 5

Có những function sẽ được bạn dùng đi dùng lại ở nhiều nơi (Controller, Model, Request, Service, View ...). Khi bạn dùng chức năng đó ở đâu bạn có thể viết lại function đó, tuy nhiên bạn sẽ gặp vấn đề khi có sự thay đổi trong function đó bạn sẽ phải tìm kiếm và sửa nhiều lần. Giải pháp đưa ra là bạn tạo ra một helper function được tự động load và có thể gọi ở bất cứ nơi nào.

Sử dụng Jaspersoft Report để làm report trên Laravel

Bài viết này sẽ hướng dẫn cách tạo một report trên Laravel sử dụng JasperReport (iReport). Jasper Report có thể tạo một báo cáo tốt với rất nhiều lĩnh vực cho các ứng dụng web của bạn không chỉ tạo ra HTML, CSS để làm cho một file PDF. Với Jasper Report bạn có thể tạo báo cáo chứa các biểu đồ, hình ảnh, report con, Barcode ... Hỗ trợ nhiều kiểu cơ sở dữ liệu và xuất bản các báo cáo dưới dạng PDF, RTF, XML, XLS, CSV, HTML, XHTML, văn bản, DOCX, hoặc OpenOffice.

Top 10 PHP Frameworks năm 2014

Frameworks PHP là những công cụ siêu hữu ích làm cho việc phát triển website trở nên trong sáng và có cấu trúc, các framework làm tăng sự sáng tạo và khả năng bảo trì các ứng dụng web PHP của bạn. Trong bài viết này, tôi sẽ giới thiệu 10 PHP frameworks đang được ưa chuộng hiện nay.