Laravel 防止从url读取后端url
我知道标题有点混乱,但我会在这里解释 我有一个CMS供用户插入自己的信息。因此,在作为URL字段的页面中: 这意味着用户可以插入任何格式,例如 backend.com 这个url将在前端添加一个按钮。单击后,将相应地重定向到url 现在我面临的问题是3rdpointbackend.com格式。如果用户在后端输入com并单击前端的此按钮,他们将重定向到https://mywebsite.com/backend.com. 应该改为重定向到backend.com 我正在使用Laravel并使用{{$url}}从数据库中读取数据。简化代码如下:Laravel 防止从url读取后端url,laravel,url,content-management-system,backend,Laravel,Url,Content Management System,Backend,我知道标题有点混乱,但我会在这里解释 我有一个CMS供用户插入自己的信息。因此,在作为URL字段的页面中: 这意味着用户可以插入任何格式,例如 backend.com 这个url将在前端添加一个按钮。单击后,将相应地重定向到url 现在我面临的问题是3rdpointbackend.com格式。如果用户在后端输入com并单击前端的此按钮,他们将重定向到https://mywebsite.com/backend.com. 应该改为重定向到backend.com 我正在使用Laravel并使用{{$u
//html
<a id="book-submit">Book</a>
//javascript
$("#book-submit").on('click', function(){
$.ajax({
url: '',
type: "POST",
data:{
},success :function(response) {
window.location.href='{{$url}}';
}
})
});
//mysql
$check= DB::connection('mysql_api')->table('course')->select('url')->first();
$data['url'] = $check->url;
有什么方法可以防止这种情况发生吗?希望你们中的一些人能给我一些建议。谢谢 要使用window.location.href引用另一个页面,您需要在其上添加http://或https://内容 如果您的数据库中已有数据url,但没有http://或 https://,您需要像您一样通过自己的逻辑来操作它 使用strpos或“regex” 您可以验证用户输入 有关某些信息,您可以使用[FILTER\u VALIDATE\u URL]来验证URL
有关其他标志,请参见。您能否详细说明问题的具体原因。你的前端在哪里https://mywebsite.com/backend.com? 为什么这是个问题?你在期待什么?我有一个从后端读取此url的按钮。所以,如果用户插入backend.com,如果我单击按钮,它将重定向到backend.com。但是我重定向到了INSTEADE,你是在调用url'backend.com'吗?因为该函数将您的站点url预先添加到您提供的任何内容。我们要求的是如何填充$url。要使用window.location.href引用其他页面,您需要在其上添加http://或https://这就是为什么当仅backed.com时,它仅重定向到您自己的服务器