Có cách nào để ứng dụng ColdFusion biết liệu nó đang được chạy từ trình lên lịch so với trình duyệt không? Lý tưởng nhất, tôi muốn thiết lập một cờ Session, ví dụ "isScheduled" trong Application.cfm được sử dụng trong suốt ứng dụng.Coldfusion: Phát hiện xem có được chạy bởi người lập lịch biểu
EDIT tôi đã kết thúc kiểm tra các đại lý người dùng, và rằng nó đang được cài đặt trên server (để cải thiện bảo mật), và (vì nó đang chạy trong Application.cfm) rằng trang này là trong thư mục đó cho phép lập lịch trình:
Request.isScheduled = FindNoCase("CFSCHEDULE",CGI.HTTP_USER_AGENT) and (Find("10.",CGI.REMOTE_ADDR)==1 or Find("198.162.",CGI.REMOTE_ADDR)==1) and FindNoCase("scheduled",CGI.CF_TEMPLATE_PATH);
Tại sao bạn không thể chuyển thông số chuỗi truy vấn một cách đơn giản và đưa ra quyết định – Candide
Một trong những cách sử dụng cho lá cờ sẽ là bỏ qua việc sử dụng r xác thực (trong đó sử dụng một chuyển hướng đến một trang cấp dịch vụ xác thực cấp doanh nghiệp) khi được chạy bởi bộ lập lịch, nhưng yêu cầu xác thực tất cả các lần khác. Mặc dù tôi sẽ là người duy nhất biết được tham số truy vấn để bao gồm, nó sẽ mở ra một con đường có thể cho hacking, mà tôi thà tránh. –
Kiểm tra tác nhân người dùng không an toàn hơn. Tôi có thể dễ dàng thay đổi tác nhân người dùng của mình trong FireFox - thậm chí có cả Trình bổ sung tác nhân người dùng bổ sung để dễ thay đổi. Tôi làm điều này tất cả thời gian để thử nghiệm. – Yisroel