2017-03-27 52 views
0

我發現一個正在運行的Ajax服務,因爲我調用了我的事件跟蹤器日曆。 [MYSERVER] /忻-tracker_calendar列表?trackerId = 30 & beginField =的startDate & ENDFIELD =結束日期& resourceField =標題& coloringField = NULL &濾波器=%0D%0A%7Bfilter%20field%3D%22tracker_field_eventCategory%22%20content% 3D%22%22%7D%0D%0A &開始= 1488085200 &末= 1491710400 & _ = 1490626987241我將如何停止Tikiwiki中的匿名用戶的Ajax請求服務?

如果攻擊者利用這一點,並輸入: 的tiki-tracker_calendar列表trackerId = 30 & beginField =的startDate & endField = endDate & start = 0 & end = 9999999999 系統將返回跟蹤器30中的所有事件。 我試圖輸入: `if(! isset($用戶))

{

頭( '位置:的index.php');

die;

}` 在文件:/var/www/html/tikisvn15/tiki-ajax_services.php

在35行

它的工作原理。有沒有其他方法?我的修改會停止其他組件的Ajax服務嗎?

回答

1

您可以設置哪些組可以看到使用Tiki權限系統的內容。 See the documentation here

注意,一旦您設置您的跟蹤不可見的匿名(在沒有登錄)的用戶,您將需要重建搜索索引(在控制面板 - >搜索),因爲TrackerCalendar使用搜索索引廣泛。

我會建議不要在tiki代碼中插入像這樣的任意用戶檢查,因爲事情會停止工作,並且很難弄清楚爲什麼,我想。

+0

工作。但是,當我輸入URL時,它仍然顯示一個空數組。我想我會忍受這一點。 – Tommy

+0

是的,返回的空數組是因爲它可能不是沒有任何項目可見的錯誤 - 跟蹤器權限非常複雜:您可以調整全局或每個跟蹤器,或按類別或狀態甚至「所有權」的查看權限,所以如果沒有任何可見的話,返回一個錯誤在很多情況下都不會有用。 雖然很喜歡它,歡迎來到Tiki! – jonnybradley