2012-04-25 37 views
1

我使用這個文件上傳到上傳文件: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驗證涵蓋了這些內容?

+0

你最後的聲明聽起來像你的目標是掃描病毒。這是您嘗試驗證內容的原因還是病毒掃描次要目標? – 2012-04-25 07:22:58

+0

我的第一個目標是掃描病毒(最重要的東西) - 我想知道是否需要研究病毒驗證,或者如果我已經驗證它是一個LESS文件 - 那麼它沒有病毒? – Alon 2012-04-25 07:25:26

回答

0

看看不幸的是不是所有的最新版本的瀏覽器所支持的File API ...

+1

我不認爲這是我需要的,因爲我不需要瀏覽器支持 - 我希望文件被髮送到服務器,服務器將驗證文件 – Alon 2012-04-25 07:23:36

0

服務器端就可以通過節點或端口中的一個使用less.js - PHP,C#或Java 。否則使用PHP?

就病毒而言,少一些可以包含編譯期間運行的JavaScript,但如果使用端口,我不認爲會發生這種情況。 Less也可以生成具有JavaScript的CSS,它將在ie中使用時運行。最後,可能會寫少遞歸,這會使解析器產生堆棧溢出 - 至少在這個問題中,less.js中存在一個bug並且沒有點錯。

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'); 
}