2013-09-20 80 views
8

Một miền khác đang hiển thị nội dung trùng lặp trên trang web của tôi (tất cả các trang) Khi tôi nhập tên miền này, tôi thấy nội dung trang web của mình.Làm cách nào để chặn một miền khác để truy cập và nhận kết quả từ trang web của tôi?

Nếu tôi thay đổi một cái gì đó trên trang web của mình, tôi sẽ thấy nó ngay trên miền khác.

Tôi nghĩ rằng ông sử dụng một số chức năng fopen hoặc curl hay cái gì khác để hiển thị nội dung của tôi ngay lập tức từ trang web của tôi

Làm thế nào để ngăn chặn nó?

* máy chủ của tôi: cpanel, php5

+0

kiểm tra nhật ký và yêu cầu chặn từ tên miền/ip đó? –

+0

Trang web khác có thể đang sử dụng proxy. – anubhava

+0

tìm kiếm 'referer' là một lựa chọn nhưng có thể được giả mạo, và tôi nghĩ rằng không thể được thực hiện tại tất cả –

Trả lời

3

Bạn có thể sử dụng địa chỉ IP để phục vụ trang 404. Hoặc nếu bạn thực sự muốn thông minh. Đối với địa chỉ IP của họ chỉ phục vụ thông tin sai hoặc xấu hổ trông tương tự nhưng không phải là nội dung tốt.

if($_SERVER['REMOTE_ADDR'] == "12.1.3.5"){ //banned IP 

    //do something else 

} 
+0

Tôi làm gì khi thay đổi ip? – motioz

+1

Bạn viết lại tập lệnh cho IP mới? – DrakaSAN

+0

Bạn có thể viết một công việc cron để thường xuyên kiểm tra ip cho trang web và lưu trữ nó trong một cơ sở dữ liệu các loại và chỉ làm bất cứ điều gì bạn muốn với những IP cụ thể. Tôi nói troll tất cả phải trung thực. – rfoo

0

Hãy thử kiểm tra các đại lý người dùng nếu nó không phải là một trình duyệt Firefox, safari ... Từ chối truy cập này sẽ freak ra lĩnh vực khác được sao chép trang ví dụ của bạn:

if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE){ 
//Internet Explorer Good 
}else{ 
if(strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== FALSE){ 
//FireFox Good 
}else{ 
if(strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== FALSE){ 
//Chrome Good 
}else{ 
//Check for safari , Opera , AndroidBrowser and IOS browser , Internet Explorer Mobile and text phones 
//else run this code 
die("Acessing this site is only allowed from this domain example.com"); 
} 
} 
} 

EDIT:

thêm mã này vào .htaccess của bạn

BrowserMatchNoCase SpammerRobot bad_bot 
BrowserMatchNoCase SecurityHoleRobot bad_bot 
Order Deny,Allow 
Deny from env=bad_bot 

Khi mọi người đã nói trong comment user agent là empt y:

if(empty($_SERVER['HTTP_USER_AGENT'])){ 
die("Error"); 
} 

Bạn cũng có thể áp dụng các địa chỉ IP nên nó sẽ khó khăn hơn cho lĩnh vực khác để phá vỡ bạn:

Bạn cũng có thể kiểm tra các hệ thống UserOperating nhưng nó không phải là cần thiết vì nó sẽ có thể gây ra vấn đề cho một số người dùng, do đó, không nên làm nhưng nó vẫn là một ý tưởng hay.

giữ cho tôi UpToDate để được trợ giúp

+1

Tại sao bạn không sử dụng khác nếu thay vì {if}? – DrakaSAN

+0

tác nhân người dùng trống từ tên miền này – motioz

+0

Tôi sẽ chỉnh sửa câu hỏi –