2013-02-01 48 views
2

有人通過cURL閱讀我的頁面。 如何禁用通過cURL訪問我的頁面? 他是用這種方法來閱讀我的頁面禁用cURL閱讀

function ajax(){ 
$.ajax({ 
type: "POST", 
url: "../ajaxupdate.php", 
data: { link: "58699768" } 
}).success(function(msg) { 
$('#postcontent').html(msg); 
ajax(); 
}); 
} 
ajax(); 
+0

您正在閱讀您自己的頁面,因爲上面的代碼使用相對路徑。另外,如何根據你的問題在javascript中使用curl? –

+0

這不是我的腳本。閱讀完整的問題 – Nandla

+0

然後它真的更混亂。這個腳本是如何使用腳本'../ ajaxupdate.php'的相對路徑的。這意味着它與您的「頁面」位於同一臺服務器上。另外,假設這是別人的腳本,你如何能夠確定用戶用來訪問你的頁面的確切代碼?你的問題和代碼不相互補充。 –

回答

0

這將是非常困難的原因捲曲提供噸的選項,因此可以繞過幾乎所有的安全,除非你要求有活躍的餅乾和驗證碼或登錄/密碼會話。你可以做的兩件事是: 1.以任何你喜歡的方式阻止ip-在腳本中或使用iptables。 2.當你看到他的用戶代理時,殺死腳本,這樣他/她什麼都得不到。

但正如我所說 - 有數以百萬計的方法繞過這些代理,切換用戶代理和其中的任何東西。

0

您可以通過檢查$_SERVER['HTTP_USER_AGENT']來過濾令人討厭的客戶端的連接。

如果它包含字符串curl只是返回一個空白頁。

E.g.

if (preg_match('/curl/i', $_SERVER['HTTP_USER_AGENT'])) 
    return; 

顯然,這是不是因爲curl 100%安全的方法可以設置自定義User-Agent HTTP頭。

+0

這可以被繞過。我想要安全的方法 – Nandla

+0

對不起...我認爲100%安全的方法不存在,因爲curl可以改變任何http頭的參數 –