如何验证用户上传文件是否为LESS文件的文件

时间:2012-04-25 07:14:00

标签: php jquery css less validation

我使用此文件上传程序上传文件:http://valums.com/ajax-upload/

我想查看用户上传的文件只是LESS文件(我知道如何检查扩展程序本身是否为* .less - 我要验证内容)。

我看到了这个项目: https://github.com/agar/less.php 解析LESS文件,但我不明白它是如何使用它的,我如何使用这个项目(或任何其他项目)来问这样的事情:

isValidLESScode($text);  //True or False

我是否需要使用此页面上显示的less.js http://lesscss.org/? 另外 - 如果我验证它是一个LESS代码,我是否需要验证代码中是否存在邪恶或病毒,或者LESS验证是否涵盖了这些?

3 个答案:

答案 0 :(得分:0)

查看File API,但遗憾的是,所有最新的浏览器版本都不支持这些浏览器...

答案 1 :(得分:0)

服务器端你可以通过节点或其中一个端口使用less.js - PHP,c#或java。你是否使用PHP?

就病毒而言,less可以包含在编译期间运行的JavaScript,但我不认为如果使用端口会发生这种情况。 Less还可以生成具有JavaScript的CSS,该JavaScript将在ie中使用时运行。最后,可以编写递归,这会使解析器产生堆栈溢出 - less.js中存在一个错误,至少在这个问题上是无效的。

答案 2 :(得分:0)

如果目标是检查LESS文件是否包含病毒,您可以查看ClamAV。

要安装ClamAV并在PHP中使用它,您需要首先运行apt-get install php5-clamavlib clamav clamav-freshclam(或包管理器中的等效命令)来安装clamavlib。然后,修改您的php.ini文件以加载ClamAV扩展clamav.so

您可以查看clamav项目http://php-clamav.sourceforge.net/以获取功能文档。但看起来下面的代码会扫描文件中的病毒,并在检测到时返回非零返回码。

if (cl_scanfile($_FILES['file']['tmp_name']))
{
    die('Found virus inside uploaded file');
}