“如何改变”;“基础”;头标签,来自php?

“如何改变”;“基础”;头标签,来自php?,php,html,css,Php,Html,Css,我从php发出一个POST请求,返回HTML代码: <html> <head> <link rel="stylesheet" href="/css/footer.css"> </head> <body> </body> </html> 问题是,结果似乎没有CSS,因为它试图从加载。但是我对“externalsite.com”做了修改,如果在另一个网站上加载HTML,它

我从php发出一个POST请求,返回HTML代码:

<html>
<head>
<link rel="stylesheet" href="/css/footer.css">
</head>
<body>
</body>
</html>


问题是,结果似乎没有CSS,因为它试图从加载。但是我对“externalsite.com”做了修改,如果在另一个网站上加载HTML,它看起来很好。如果我编辑结果HTML并添加“base”meta,它会工作,但我不认为直接编辑和替换HTML代码是可以的。

我认为,最有可能的是,您可以访问一个页面上的资源,该页面具有两个相对路径(
/css/footer.css
)和网站的完整域名(
www.mysite.com/css/footer.css
),在这种情况下,浏览器会触发XSS保护。当您指定
base
标记时,浏览器认为所有加载的具有相对路径的资源都应仅从该标记中指定的站点下载,并使用完整域名忽略,这被认为是安全的,保护不起作用。

退后一步……为什么CSS在那里不可用?这似乎是一个XY问题。。。在这种情况下,您可能不想添加基标记,因为基标记将“覆盖”任何相对URL。如果您的目标是为CSS使用相对URL(这可能更好),那么就让资源在预期的路径上可用。如果您的目标是使用指向另一个CDN的绝对URL,那么请使用绝对URL。是的,我后退了一步。。。。我改为提交了一份表格