Hãy đăng ký thành viên để có thể dễ dàng trao đổi, giao lưu và chia sẻ về kiến thức đồ họa.
  1. Hãy đăng ký subscribe kênh Youtube mới của Việt Designer tại địa chỉ: Youtube.com/VietDesignerChannel để theo dõi các video về thiết kế đồ họa. Do trước đó kênh cũ bị Youtube quét không rõ lý do, trong thời gian chờ kháng cáo nếu các bạn thấy video trên diễn đàn bị die không xem được thì có thể vào kênh mới để tìm xem video sơ cua nhé.
    Loại bỏ thông báo

Nhờ hoàn tất code kiểm tra và download file

Chủ đề thuộc danh mục 'HTML - CSS - JS - PHP - ASP' được đăng bởi Tần Quảng, 29/4/18.

Lượt xem: 1,412

  1. Tần Quảng Mới đăng kí

    Code:
    Mình đang muốn tạo safe url 
    	
    download file nhưng mình đang mắc phải vấn đề này, trước hết là code đã!
    Đầu tiên, mình tạo một file để tạo url tải xuống, tạm gọi là function.
    	
    php đi, nội dung:
    ... (Phần code kết nối và get dữ liệu trên database, bỏ qua).
    $create_token = bin2hex(time()); ///Tạo token tải file
    ///Giờ hoàn tất url hiển thị ra màn hình:
    $getfile = $file['id']; ///Get id file
    $exp = time()*60*5 ///Link hết hạn sau 5 phút
    $dl_url = "http://yourwebsite/download.
    	
    php?i=" . $getfile . "&t=" . $exp . "&a=" . $create_token; ///Liên kết hiển thị trên màn hình đây
    Sau đó thực hiện lệnh import cái id và token lên database (khỏi viết ra cho đỡ dài).
    Còn file 
    	
    download.
    	
    php sẽ như này:
    .... (Tiếp tục kết nối + get dữ liệu).
    $get_token = $_GET["a"];
    $get_time = $_GET["t"]; 
    $get_fid = $_GET["i"]; ///Lấy dữ liệu từ url.
    Sau đó thực hiện lệnh get patch đến file từ id, rồi kiểm tra theo patch đó, nếu file không tồn tại thì báo 404 luôn, còn nếu file tồn tại thì chuyển sang bước so sánh tiếp.
    $recreate_token = bin2hex(time()); ///Tạo lại token để so sánh
    $get_dtoken = $dl_files['token'];  ///Get token vừa tạo ở function.
    	
    php trên database
    $now_time = time(); ///Thời gian hiện tại
    Giờ đi so sánh:
    if($get_token === "" || $get_token != $recreate_token || $get_token != $get_dtoken || $get_dtoken != $recreate_token || $time >= $get_time || $get_time === "")
    {
    die("Link has been expires or token not corrected!");
    }
    else
    {Help me here....???}
    Sơ qua code là vậy, mình mong mọi người có thể viết nốt hộ mình code check xem file có tồn tại hay không (nếu không thì báo lỗi 404 còn nếu có tồn tại thì chuyển sang bước so sánh bên dưới) và sau cái else đó là get size, tên file (coi như tên file và định dạng file đều nằm chung ở $file['name']) và sau khi get xong thì bắt đầu 
    	
    download.
    Mong mọi người giúp mình ạ!!!!

Từ khóa:

Ủng hộ diễn đàn