Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Lập trình Web & Backend] Áp dụng nhiều quy tắc CORS theo thứ tự ưu tiên

    Nhiều Quy Tắc CORS

    Server có danh sách quy tắc, mỗi quy tắc là <pattern> <action>:

    • pattern: một origin cụ thể https://a.com, hoặc wildcard subdomain https://*.a.com, hoặc * (mọi origin).
    • action: allow hoặc deny.

    Áp dụng theo thứ tự từ trên xuống; quy tắc ĐẦU TIÊN khớp origin sẽ quyết định. Nếu khớp allow → in Access-Control-Allow-Origin: <origin> (hoặc * nếu pattern là *). Nếu khớp deny → FORBIDDEN. Nếu không quy tắc nào khớp → FORBIDDEN.

    Quy tắc khớp wildcard *.a.com như subdomain (không khớp chính a.com). Pattern * khớp mọi origin.

    Input:

    • Dòng 1: số n quy tắc; tiếp n dòng <pattern> <action>.
    • Dòng cuối: origin request.

    Ví dụ

    Input:

    2
    https://*.a.com allow
    * deny
    https://app.a.com
    

    Output:

    Access-Control-Allow-Origin: https://app.a.com
    
    • Định dạng đầu vào:

      n + quy tắc / origin.

    • Ràng buộc đầu vào:

      1 ≤ n ≤ 50.

    • Định dạng đầu ra:

      ACAO hoặc FORBIDDEN.

    Ví dụ:

    Đầu vào:

    2
    https://*.a.com allow
    * deny
    https://app.a.com
    

    Đầu ra:

    Access-Control-Allow-Origin: https://app.a.com

    Giải thích:

    Quy tắc đầu (allow subdomain) khớp app.a.com trước nên cho phép, không xét quy tắc deny phía sau.

    Đang tải editor...