10/10/2018, 13:19

Tránh bị file get contents PHP

Các bác cho e hỏi làm thế nào để chặn file get contents từ các trang khác ạ, giống như ddth đang làm ý. Nếu trang khác dùng hàm file_get_contents thì nó sẽ trả về 400 or 500 ý.
zmt264 viết 15:32 ngày 10/10/2018
Được gửi bởi tandoigai
Các bác cho e hỏi làm thế nào để chặn file get contents từ các trang khác ạ, giống như ddth đang làm ý. Nếu trang khác dùng hàm file_get_contents thì nó sẽ trả về 400 or 500 ý.
chặn rồi lại bị cURL thì cũng như chuyện
antipro.vn viết 15:29 ngày 10/10/2018
Nguyên tắc của mấy việc chặn request kiểu này thông thường dựa vào header và thuộc tính của browser. Rất phức tạp. Nhưng về lý thuyết thì ko chặn 100% được mà chỉ làm khó người muốn lấy dữ liệu của bạn ở một mức nào đó thôi. Bởi vì trình duyệt bình thường có thể truy cập được tới trang web của bạn, thì người code nếu mô phỏng được trình duyệt 100% cũng sẽ lấy được nội dung đó.

Về chặn header, nếu bạn xài cURL thì sẽ có một header là User-agent chỉ cho server của bạn biết là: bạn đang bị cURL. Mình chỉ cần xét User-Agent nào là cURL rùi chặn lại là xong.
Nhưng mà header của 1 request có thể manual edit nếu họ dùng trực tiếp fsockopen (trong php), có nghĩa là chặn header thì thường sẽ bị vượt qua .

Tiếp theo là thuộc tính của browser, có khá nhiều cách.

Ví dụ cách redirect, muốn truy cập vào 1 URLA, thì người dùng phải truy cập vào URLX, từ URLX mình set-cookie rồi redirect qua URLA, trong request URLA, trước khi mình process thì mình xem xem có cookie được redirect từ URLX hay ko, nếu không thì là invalid -> stop, nếu có thì process tiếp. Bạn cũng có thể làm nhiều lần redirect để tăng thêm độ khó. Cái này mình từng gặp từ 1 server chạy oracle, cũng rất ư là phiền.

Ví dụ cách se-ri-al request, cũng tương tự như cách redirect thôi, nhưng dùng cái thẻ script trong html. Trong html thì các thẻ script sẽ được load theo thứ tự từ trên xuống, trong mỗi src của mỗi thẻ script này, mình đánh dấu rằng: request này là hợp lệ, sau đó trước khi process request chính, mình kiểm tra tất cả các request phụ xem có hợp lệ không. Thường cái này được dùng kèm với ajax hoặc iframe.

Vấn đề cơ bản ở đây là: làm một số chuyện trình duyệt thông thường sẽ làm -> check xem các thuộc tính của request hiện tại có đến từ 1 trình duyệt bình thường hay là đến từ một đoạn code -> từ đó deny request hay process request.

Nếu bạn đọc mà không hiểu, vậy có nghĩa là hiện tại bạn chưa nên tham khảo vấn đề này vì chưa đến lúc.
zmt264 viết 15:31 ngày 10/10/2018
Được gửi bởi antipro.vn

Ví dụ cách ****** request,
***** là gì thế , viết sao mà bị thành * hết cả
antipro.vn viết 15:35 ngày 10/10/2018
cái đó se ri al request, mà cũng bị *** luôn
zmt264 viết 15:32 ngày 10/10/2018
Được gửi bởi antipro.vn
cái đó se ri al request, mà cũng bị *** luôn
c r a c k
s e r i a l

là các từ bị cấm mà

hack
fake

thì ko bị sao

mà sao bác ko edit lại cái ***** thành s e r i a l đi.
ku_bin_bmt viết 15:24 ngày 10/10/2018
dựa vào header và thuộc tính của browser
tandoigai viết 15:22 ngày 10/10/2018
Để tránh bị đánh cắp nội dung e nghĩ là có 1 cách, đó là đếm số request. Thông thường 1 user nào đó không bao giờ request quá nhiều tới server hoặc xem quá một số lượng trang nào đó. Nếu mình nhận thấy có 1 user agent nào đó mà request quá nhiều hoặc trang nào cũng xem... thì sẽ phát hiện ra là thằng nào đang có ý đồ không tốt.
trannamcn viết 15:21 ngày 10/10/2018
Được gửi bởi tandoigai
Để tránh bị đánh cắp nội dung e nghĩ là có 1 cách, đó là đếm số request. Thông thường 1 user nào đó không bao giờ request quá nhiều tới server hoặc xem quá một số lượng trang nào đó. Nếu mình nhận thấy có 1 user agent nào đó mà request quá nhiều hoặc trang nào cũng xem... thì sẽ phát hiện ra là thằng nào đang có ý đồ không tốt.
Dính phải ông user thích trải nghiệm thì sao bác . Thông tin đã public lên Internet thì để tự do hóa đi
lighthousehn viết 15:30 ngày 10/10/2018
Chặn một hồi rồi chặn luôn Google bots mới vui )
Bài liên quan
0