• 26 Feb 2021

    Bảo vệ hotlink của bạn

    Hotlink là một quá trình sử dụng hình ảnh trang web của bạn, tài sản tĩnh (CSS, Javascript, Phông chữ, v.v.) đến các trang web khác không liên quan đến bạn. Do đó, hiệu suất trang web của bạn sẽ giảm đáng kể. Mỗi khi trang web người dùng khác tải nó sẽ lấy tài nguyên từ trang web của bạn.

    Không cần phải lo lắng vì chúng ta có thể ngăn chặn nó bằng phương pháp sau

    Triển khai trong Máy chủ Web Nginx

    1
    2
    3
    4
    
    valid_referers none blocked yoursite.com *.yoursite.com;
    if ($invalid_referer) {
        return   403;
    }
    

    VD: Đoạn mã triển khai đầy đủ trong Máy chủ Web Nginx

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    location ~* \.(gif|otf|jpg|jpeg|png|css|js)$ {
        valid_referers none blocked yoursite.com *.yoursite.com;
        if ($invalid_referer) {
            return   403;
        }
        add_header Cache-Control public;
        add_header Pragma public;
        add_header Vary Accept-Encoding;
        expires max;
    }
    

    Tham khảo:

    • https://stackcoder.in/posts/hotlink-protection-in-nginx (bài gốc)
    • https://nginx.org/en/docs/http/ngx_http_referer_module.html#valid_referers
  • 11 Jul 2017

    Good Product Team / Bad Product Team

    Làm thế nào để dánh giá một team sản phẩm là tốt hay không? Câu hỏi này vẫn là ăn khoăn của không ít các nhà quản lý.
    Mình vừa đọc được bài này thấy hay nên note lại cho mọi người.

    Good Product Team / Bad Product Team
    – Marty Cagan | Jun 13, 2014

  • 24 May 2017

    Cố chút hạnh phúc từ twitter

    Đây sẽ là lời động viên để mình cố gắng đống góp cho cộng đồng mã nguồn mở nhiều hơn nữa.
    Xin cảm ơn bạn!

  • 15 May 2017

    Configure your SSL certificate and HTTPS site to rank A+

    This blog is out of date

    Today, I made a HTTPS site with invalid SSL certificate configuration to rank A+. And now, i will share my how to do.

  • 17 Feb 2017

    Vào lại tài khoản Twitter và mình có chút vui vẻ

    Hôm nay mình vừa tài khoản Twitter của mình sau một khoảng thời gian dài bận rộn. Thật là vui khi thấy bài này:

  • 15 Feb 2017

    Run docker without sudo in Fedora 25

    I was setup new computer in my company, i installed Fedora 25 OS for it. After i installed docker following the Docker document, I has a problem about run docker without sudo (reasons are explained on the Docker document page linked here, I’m not going to repeat them).

  • 19 Jan 2017

    Liệt kê nhanh các câu truy vấn SQL trong Flarum

    Vừa qua mình có code một dự án với thằng Flarum. Phải công nhận là thằng này có nhiều cái hay để mình học hỏi nhưng cũng phải nói là nó vần còn nhiều cái tù (vì cũng còn đang là beta-6 mà).

    Trong quá trình phát triển, mình cần phải debug với câu truy vấn SQL của nó. Lúc đầu mình cũng lúng túng, chưa biết làm như nào.

  • 28 Dec 2016

    Liệt kê nhanh các câu truy vấn trong Laravel

    Khi bạn phát triển một ứng dụng với Laravel (hoặc với Eloquent), rất có thể bạn sẽ gặp một vài vấn đề. Đó có thể là bạn lấy một bản ghi rồi lấy các bản ghi khác dựa theo kết quả lấy được, … Hoặc là khi bạn đang sử dụng các truy vấn phức tạp và bạn muốn xem nó đã thực hiện truy vấn như nào đến cơ sở dữ liệu. Để làm được điều đó thì bạn có thể sử dụng Laravel Debugbar hoặc Laravel database profiler ở môi truờng phát triển của mình. Tuy nhiên có 1 cách đơn giản mà không cần cài thêm thư viên gì cả.

  • 20 Nov 2016

    Một vài kinh nghiệm với crontab

    Cron và crontab chắc là không còn xa lạ gì với anh em developers nhà mình rồi đúng ko? Tuy nhiên để lập lịch cho một công việc hay sửa đổi nó cũng không hề đơn giản, đôi khi cũng tốn không ít thời gian của anh em. Bản thân mình cũng vậy, nhiều lúc cũng toát cả mồ hôi. Hôm nay mình chia sẻ với anh em một vài kinh nghiệm khi làm việc với nó.

  • 17 Nov 2016

    Sử dụng wget để tải một thư mục trên http

    Đôi khi bạn muốn tải về tất cả các tài liệu mà thầy giáo bạn cho dưới dạng một thư mục. Bạn đang lay hoay tìm phần mềm để tải về? Tại sao bạn ko thử dùng ngay wget?

  • Bài cũ hơn