Use Microsoft AntiVirus API for File Upload Scanning - antivirus

Has anyone here used Microsoft Anti-Virus API to scan file uploads using any anti-virus ? What is your experience. I want to use mcafee, trend or other well known AV to be called programatically.

It seems that Microsoft AntiVirus API is not suitable for scanning uploaded files. From http://msdn.microsoft.com/en-us/library/ms537371(VS.85).aspx
The Antivirus API enables software
vendors to develop applications that
scan Microsoft Office 2000 documents
before opening them. The API also
supports scanning Microsoft Internet
Explorer 5 code downloads, such as
Microsoft ActiveX Controls or
installs. However, be aware that the
Windows Internet Explorer scanning
support applies only to automatic code
downloads and not to file downloads or
HTML documents. The primary purpose of
this API is to give an independent
software vendor (ISV) the ability to
design and implement scanning software
that can be used by all applications.
HTH.

You should either invest money into a malware filtering appliance (using something like ICAP or a proprietary protocol) that will scan all inbound traffic for virus/malware even before it hits your app. Here are some examples:
http://www.barracudanetworks.com/ns/products/spam_overview.php
Another route is to do API level integration with a SaaS provider such as scanii.com

Related

what is the difference between the terms CMS and Script?

What is the difference website CMS and website script?
WordPress, Joomla, Drupal = CMS.
Xenforo, Opencart, whmcs and etc = script or cms?
For example, only scripts are sold on a codecanyon (forum script, shop script and etc)
A content management system in this context is a web software application for managing the creation and modification of digital content, the content of which is typically article based. Wordpress is primarily used as a blog CMS centered around articles and is very easy for beginners. Joomla and Drupal are for more advanced users and has more capabilities for building larger more advanced systems.
Xenforo is forum software, it doesn't have article support out of the box but is a thread and post based web software. It has many features, it's hard to call it a CMS because it is not article based. It's purpose is for community based discussion.
A script is a file that is parsed and executed by an interpreter, by itself a script doesn't do anything by itself. These web softwares are collections of scripts but I would not call them a script themselves.
Code Canyon sells addons, plugins & themes which extend prebuilt CMS and other web software but again I wouldn't call most of these scripts.
A content management system, usually abbreviated as "CMS", is basically just a piece of software that you install on your web host's computer. That is, instead of installing the program on your own computer, the way you do a web editor, you install it directly on your website. You then use your browser to log into your website and use it to add articles, photos, or whatever to your website.
In one sense, using a CMS has some superficial similarities to using your web host's online site builder, which is probably why the visitor asking me this question was confused. For example, when you use a CMS, you don't need to install any program on your own computer to create and update your website. You just connect to your site with your browser and modify it directly.
On the other hand, CMSes also have their own disadvantages over a web host's site builder. For example, they rarely have the huge range of web design templates that an online site builder has. ("Templates", in this context, are just pre-made web designs that you can use wholesale, or customise, for your site.) However, if you use a CMS platform that is very popular, you can probably find some free template somewhere on the Internet, possibly even directly on the CMS author's own website, that you can adapt. CMSes are also much harder to set up. You have to learn how to do things like transfer files from your computer to your web host's computer, set up a database, and configure the CMS for your site. Once you're through with the initial stages, however, it's probably easier, since you have much greater control over the CMS than an online site builder (since the latter is controlled by your web host). Many popular CMS programs even have add-on modules that extend the functionality of the CMS, so even if the basic CMS package doesn't have everything you want, you can often install one or more of these modules to provide the missing feature.
A script is a file that is parsed and executed by an interpreter, by itself a script doesn't do anything by itself. These web softwares are collections of scripts but I would not call them a script themselves.

MongoDB for commercial use

As I am pretty horrible in reading English legal documents I hoped one of you could answer this question.
In about a month I need to do an internship at a company for my bachelor. They would like me to develop a system for internal use (will not be sold) that requires a database.
They are allowing me a free hand (from what I understood) in selecting a database. As (as far as I understand atm) the data that needs to be stored does not contain a lot of relations (1 or 2) and is not heavily queried, I was thinking of using mongoDB as a back-end server.
Can mongoDB community be used freely in this type of an application under the new license? Most I find using Google involves the old license.
First of all, it's important to know why MongoDB adopted a new license for the product Community Server. This change was made as a response to a increasing number of cloud providers that are offering MongoDB database as a paid service to their users without playing by the open-source rules. Indeed, it's pretty unfair to have companies reselling the free version of a product you spent a lot of money to develop without contributing anything back.
As you can read in MongoDB new license's FAQ What specifically is the difference between the GPL and the SSPL:
A company that offers a publicly available MongoDB as a service must release the software it uses to offer such service under the terms of the SSPL, including the management software, user interfaces, application program interfaces, automation software, monitoring software, backup software, storage software and hosting software, all such that a user could run an instance of the service using the source code made available.
That means that a company that offers MongoDB Community Version as a service to their users, must open the source code of the softwares developed to make that service work, like: monitoring tools, user interfaces, etc.
What changes to you: nothing.
Be the software you are developing for internal or external use, your company is just using MongoDB as a component of the project, not as the final product. So you are free to keep using it.

Are there any browser-based version control clients?

On a network I use I'm not able to install any third-party applications. There's just MS Office plus a web-browser.
But, I want to introduce some version control of the Excel spreadsheets I'm developing.
As I said, I can't install any other apps, so an SVN/Git client is out of the question.
Does anybody know of a VCS for which the client runs in a web-browser? I need to add files, submit new versions, compare deltas, etc.
I'm not just looking for web-based read-only browsing of a repo - I need full functionality via the browser.
I welcome your thoughts.
Google Docs/Drive has versioning, comments, sharing, etc. and may be able to do everything you need.

Word Automation launched with VS 2008 fails

I have deployed my web application (ASP.NET/C#) on the Server (Win 2003) to make it possible to merge word documents and open them.
Everything worked fine: a .doc ducment was added to the bottom of another .doc document (using Microsoft.Office.Interop.Word libraries) and then opened with the client MS Word.
Unfortunately in the weekend an automatic update has been done on the Server by another team and I do not know yet which kind of update was done (maybe an Office 2003 Update, but it might be even a Server patch).
Anyway after that I get the following Warning in the Event Viewer and the application hangs when it comes to use Microsoft.Office.Interop.Word libraries:
Detection of product '{90110409-6000-11D3-8CFE-0150048383C9}',
feature 'OfficeUserData', component '{4A31E933-6F67-11D2-AAA2-00A0C90F57B0}' failed.
The resource 'HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\MS Access Database\' does not exist.
We do not even use MS Access, but SQL Server instead.
What I fear is that registry keys have been changed and now the system does not work anymore as expected.
I set the "NETWORK SERVICE" user with privileges to access/launch word and it is the same user used also for the Default App Pool. We use IIS6, Windows Server 2003 e Word 2003.
Could suggest any approach of solution? (even if I know that without knowing which update has been done, it might be hard).
Thanks
Using and Office components (beit Office itself or the PIAs) on a server is to be avoided at all costs:
Microsoft does not currently
recommend, and does not support,
Automation of Microsoft Office
applications from any unattended,
non-interactive client application or
component (including ASP, ASP.NET,
DCOM, and NT Services), because Office
may exhibit unstable behavior and/or
deadlock when Office is run in this
environment.
Microsoft KB article
Like many others, I am regularly confronted with this problem and there is no easy solution.
Either dedicate a little server somewhere to do your Office stuff (and be prepared to reboot it regularly) or use a third-party product that doesn't reference the PIAs.
Sorry to be the bringer of bad tidings...
You should be able to check under the Windows updates to see what updates were recently applied. Hopefully, you could roll them back until you find the culprit.
Paul's right. Deploying a solution using MSOffice apps on a server can be a +very+ dicey proposition. Be prepared, and make use of watchdog timers and code to enumerate and kill errant WINWORD.EXE processes when you think it might have dropped off the deep end. it's not elegant stuff, but it can be made to work.
As for 3'rd party tools, I've looked at A LOT of them. If you're building a doc from scratch, most are ok, though they have varying levels of implemented functionality.
If you can work with DOCX files exclusively, the OpenDoc XML SDK works quite nicely and is free. But it sucks to actually manipulate existing documents.
If you're planning on using existing documents as templates, you're options become much more narrow. You can do it with the OpenXML SDK, but it's VERY difficult. Windward reports works, but can be $$$.
Most of the "Word Compatible" libraries for sale don't implement all the functionality you're likely to need.
You'll most likely find that using the Word Object Model API is the only route to give you the capability you'll need. But, as always YMMV.

.Net based Content Management System for marketing department

I need to set up a CMS for our marketing dept. Basically they need a system that they can
sharing documents with multiple users
editing documents with multiple users
tracking changes
tracking/keeping multiple versions
storing and organizing files
The types of documents are : Illustrator, Photoshop, Pdf, MS word and Excel.
I am in the process of evaluating different CMS to use. Since we are a .Net shop so the first requirement is Windows based. I know we can use Windows SharePoint Services 3.0 or DotNetNuke.
Could anyone give me some suggestion? Thanks a lot!
I don't think you're looking for a CMS so much as a DMS (Document Management System). CMS are usually used for managing web-based content as opposed to documents, or if they do document management they usually do a poor job at it.
For basic management of Illustrator, Photoshop, Pdf, MS word and Excel documents I would look to something along the lines of SharePoint - it will suit your needs well for the PDF / Office documents, though I'm not sure how well it does with Illustration / Photoshop files - I'm sure it will store them but you might not have the full advantage of indexing provided by Sharepoint.
SiteCore is a tad bit on the expensive side, but for what it does it's well worth the investment. I've had a demo of the application and was very impressed with what SiteCore offers for end users. The application is developed in .net so any asp.net developers will be able to add, adjust and modify different items for you.
You've spoke about digital assest management, well here is Razuna, it's an open source digital assest management system that has several kinds of downloads to play with, one even being a pre-setup Virtual Image which can get you started right away. Take a look at it and see what you think.
Good luck on your search, and hope this helped some.
I'd consider Google Docs to begin with.
Otherwise, SharePoint can handle the office documents fairly well. If it's just for the marketing team, the 'free' Windows Sharepoint Services should suffice.
You may then want to look into Adobe Version Cue to handle the Adobe based art files.
An alternative thought would be to consider Version Control, so for example Subversion could work for storing changes, keeping track of changes, etc.
Percussion CMS is a GREAT marketing tool, someone recommended Document Management System for your applications you want to integrate and use with your CMS however; the key word is marketing tool. Percussion CMS is a great investment tool to help establish your online presence! With solutions like community marketing, personalization and web analytics these solutions are geared to generate a response from site users. Community marketing helps to engage socially with your visitors in facebook, twitter and community forums. Personalization helps with brand identity, features including product promotion and help your site's represent your company the way you want to be perceived. Lastly web analytics track users and report data back to marketers including information on bounce rates and geo-tracking. Reports showing whose visiting your site and their behaviors. Most importantly the Web CMS is fool proof. It is not code based or needs a webmaster to publish the content for your website. It's extremely user friendly.