确定CSS文件是有效的CSS文件

时间:2019-05-03 13:03:49

标签: file security code-injection

我试图验证上传到我的应用程序中的文件实际上是该文件,以提高安全性。

对于图像格式,我们可以检查魔术位和文件扩展名以确定格式。

我正在为CSS文件做同样的事情。据我了解,CSS文件没有神奇的地方。我可以检查的范围是UTF-8格式文件中的魔术位,如果出现注入缺陷,就无法防止脚本被攻击。

当前,我们确认文件扩展名正确,但是如果您要更改文件扩展名,则可以上传任何文件。

是否有验证CSS文件的最佳实践方法?

1 个答案:

答案 0 :(得分:0)

您可以读取文件内容并使用正则表达式检查有效的CSS样式,例如:

([#.@]?[\w.:> ]+)[\s]{[\r\n]?([A-Za-z\- \r\n\t]+[:][\s]*[\w .\/()\-!]+;[\r\n]*(?:[A-Za-z\- \r\n\t]+[:][\s]*[\w .\/()\-!]+;[\r\n]*(?2)*)*)}

请参阅: https://regex101.com/r/fK9mY3/1