mirror of
https://github.com/Kovah/LinkAce.git
synced 2025-04-21 07:22:20 +02:00
Properly escape search queries for links, lists and tags (#163)
This commit is contained in:
parent
a65ea1a259
commit
1a9312b7e1
@ -213,3 +213,18 @@ function getVersionFromPackage(): ?string
|
||||
|
||||
return isset($package->version) ? 'v' . $package->version : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Properly escape symbols used in search queries.
|
||||
*
|
||||
* @param string $query
|
||||
* @return string
|
||||
*/
|
||||
function escapeSearchQuery(string $query): string
|
||||
{
|
||||
return str_replace(
|
||||
['\\', '%', '_', '*'],
|
||||
['\\\\', '\\%', '\\_', '\\*'],
|
||||
$query
|
||||
);
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ class FetchController extends Controller
|
||||
}
|
||||
|
||||
$tags = Tag::byUser(auth()->user()->id)
|
||||
->where('name', 'like', '%' . $query . '%')
|
||||
->where('name', 'like', '%' . escapeSearchQuery($query) . '%')
|
||||
->orderBy('name', 'asc')
|
||||
->get();
|
||||
|
||||
@ -60,7 +60,7 @@ class FetchController extends Controller
|
||||
}
|
||||
|
||||
$tags = LinkList::byUser(auth()->user()->id)
|
||||
->where('name', 'like', '%' . $query . '%')
|
||||
->where('name', 'like', '%' . escapeSearchQuery($query) . '%')
|
||||
->orderBy('name', 'asc')
|
||||
->get();
|
||||
|
||||
|
@ -41,7 +41,7 @@ trait SearchesLinks
|
||||
|
||||
// Search for the URL
|
||||
if ($this->searchQuery = $request->input('query', false)) {
|
||||
$query = '%' . $this->searchQuery . '%';
|
||||
$query = '%' . escapeSearchQuery($this->searchQuery) . '%';
|
||||
$search->where('url', 'like', $query);
|
||||
|
||||
// Also search for the title if applicable
|
||||
|
Loading…
x
Reference in New Issue
Block a user