Определить, является ли CSS-файл допустимым CSS-файлом - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь проверить, что файл, который загружен в мое приложение, на самом деле является этим файлом для повышения безопасности.

Для форматов изображений мы можем проверить магические биты и расширение файла, чтобы определить формат.

Я хочу сделать то же самое для файла CSS.Насколько я понимаю, для CSS-файла нет волшебных битов.Степень того, что я мог проверить, была бы магическими битами из файла в формате UTF-8, который не защищал бы от сценариев в случае дефекта внедрения.

В настоящее время мы проверяем правильность расширения файла,но если вы измените расширение файла, любой файл может быть загружен.

Есть ли лучший способ проверки файла CSS?

1 Ответ

0 голосов
/ 03 мая 2019

Можете ли вы прочитать содержимое файла и использовать регулярные выражения для проверки правильности стилей 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

...