Friday, September 21, 2007

Latest Virus Threats

In addition to my article on virus and spyware removal from your PC, I neglected to mention my own site, http://www.pooledesign.net/ or www.pooledesign.net/safe, which shows the most recent alerts from the Symantec Security Threats database.

Security and malware removal

Protecting your computer(s) from viruses, malware, spyware and even self-inflicted system failures is more than a full-time job. Just like protecting your identity, finances or anything else, there is absolutely no one-stop shop. I don't care if you just bought Norton's grand new golden-boy do-it-all suite, nothing, and I mean nothing offers 100% protection from all the looming threats on the internet. Since threats come from so many sources, an equally unrelated set of tools overlapped across all the things you use is necessary. That's why I try to maintain a running list of effective tools that are certainly not limited to any virus in particular. Here is a list of tools I consider very powerful in assisting you whether you are in the prevention stage, or the "Oh Sh!t" stage of computer/internet safety.

* Please note, no single program will do it all for you. These are not meant to replace a current install of AVG Antivirus, Symantec, McAfee etc, with up-to-date virus definitions.

If you're wondering what spurred this article - I ran into the trojan.w32.looksky virus on a client's network recently and thought this would be a good opportunity to put a few links together in one spot that help deal with a man-down computer situation.

1. Trend Micro HouseCall
Trend Micro's HouseCall is an application for checking whether your computer has been infected viruses, spyware or other grayware/malware. This app does require a small Java plug-in install, which is a nice alternative to Symantec's ActiveX control, that is impossible to install if you have been infected.

2. Microsoft's OneCare Live
Microsoft's OneCare Live will run online system checks, detection and removal.

3. Microsoft's Malicious Software Removal Tool
Microsoft's Malicious Malware Removal Tool checks computers running Windows XP, Windows 2000, and Windows Server 2003 for infections by specific, prevalent malicious software—including Blaster, Sasser, and Mydoom—and helps remove any infection found. When the detection and removal process is complete, the tool displays a report describing the outcome, including which, if any, malicious software was detected and removed.

4. Spybot Search & Destroy
Where would we be without this one? If you don't have it, get it and run it often.

5. Advanced Windows Care
For a free program, I have been very impressed with Advanced Windows Care. It does a great job scanning and removing. Though you should have a Symantec or McAffee Security suite protecting your computer, I run this one along with AVG Antivirus on a couple of computers. That combined with unbelievable paranoia has kept those computers pretty safe so far.

I think getting into pros and cons of the various anti-virus programs is beyond the scope of this article, but having used the three major ones: AVG Antivirus, McAfee and Symantec, I think that's about the order I would rate them (with Symantec and McAfee at a very distant second and third). AVG is really an excellent product, which I'll try and expand on in another article.

Sunday, September 9, 2007

Setting image swap on your asp.NET Image Controls - Part 2

In part 1 of this article series, I showed you how to set an image rollover in your ASP.NET (2.0) app with asp.NET HyperLink and Image controls. It's a code behind solution that writes all the javascript for you, making you much more likely to use image rollovers, rather than make them "phase two" of any given project.

As promised, this article shows you how to make it more functional by wrapping the method in a class which is reusable and accessible across your asp.NET application(s).

I'll set up a very simple class in my namespace: Web.Classes.

namespace Web.Classes

{



public class Common

{



public Common() {



}



public static void setMouseOver(HyperLink lnkControl, System.Web.UI.WebControls.Image imgControl, string imgPath, string imgPathOver)

{

lnkControl.Attributes.Add("onmouseover", "document.getElementById('" + imgControl.ClientID + "').src='" + imgPathOver + "';");

lnkControl.Attributes.Add("onmouseout", "document.getElementById('" + imgControl.ClientID + "').src='" + imgPath + "';");

}

}

}

One thing you might notice (if for no other reason than it's highlighted in orange), is that I fully qualified the System.Web.UI.WebControls.Image which shows up as an argument in my method. I've noticed that even when I declare the WebControls Namespace at the top, the compiler can potentially still throw an error due to a conflict with System.Drawing.Image. For simplicity, I didn't use a shorthand in my using statement to solve this, but that's certainly a good option.

Finally, instead of reinventing the wheel on each codebehind, it is not as simple as calling Common.setMouseOver() and providing the appropriate arguments like this:

if(!Page.IsPostBack)
{

Common.setMouseOver(lnkLink1, imgLink1, "
/Images/my_image.png", "/Images/my_image_over.png");
}

My intent with this brief series of articles was to show a simple way of implementing rollover images on your asp.NET pages.

Thursday, September 6, 2007

Setting image swap on your asp.NET Image Controls

In this article, I wanted to archive a clean and quick way of adding mouse rollover image swapping to your asp.net (2.0) forms. Before you wonder why you wasted the last 20 seconds of your life, I'll show you in part 2 how to wrap it up into a class to make it more object oriented by developing a reusable mouse rollover control.

It would be really great if the .net HyperLink control simply had an ImageRolloverUrl property, to go along with its ImageUrl property (maybe in 3.0?). At that point, we'd be done, and you'd be back to reading about my cat (I don't own a cat, but somehow writing about your black lab seems even lamer).

Moving on, since we'll have to wrap our HyperLink control around an Image control, you'll notice I don't even set the ImageUrl property of HyperLink. Therefore, it will look like this:

<asp:HyperLink id="lnkPage1" runat="server" >
<asp:Image id="imgMyImage" runat="server" ImageUrl="~/App_Themes/Default/Images/my_image.png" />
</asp:HyperLink>


in the code behind:

string imgPath = "~/images/yourimage.png";
string imgPathOver = "~/images/yourimage_over.png";

lnkControl.Attributes.Add("onmouseover", "document.getElementById('" + imgControl.ClientID + "').src='" + imgPathOver + "';");

lnkControl.Attributes.Add("onmouseout", "document.getElementById('" + imgControl.ClientID + "').src='" + imgPath + "';");

So, pretty simle in all, though it's still just a little more code than a developer might be willing to write for each image link. That's why I'll show you in part 2 how I chose to wrap this in a Class for reusibility across your application(s).