我有一个方法IndexController@search(Request $request)
,我将其用于自动填充字段:
路线:
Route::get('/search', 'IndexController@search')->name('index.search');
使用Javascript:
$(function() {
$('#terms').autocomplete({
source: 'search' // --> http://myapp/search
});
});
javascript / jQuery按预期工作,但现在可以在浏览器中调用http://myapp/search
并访问搜索查询的原始JSON数据。如果可能的话,我想禁止这样做。搜索方法只能通过javascript访问。
这可能吗?
答案 0 :(得分:1)
总有办法解决这个问题。但是在大多数情况下,这会做你想要的:
if (!request()->ajax()) {
abort(404);
}
话虽如此,我更关心的是ajax机器人试图抓取内容,而不是人们手工浏览页面