How to design a 3V3 device to be safely programmed by 5V ISP
As Ignacio stated in the comments. Use a level shifter.

That's one example. They come in lots of forms depending on whether you need single direction shifting or bi-directional shifting with or without automatic direction sensing.

For SPI, which it sounds like you're using you can get away with single direction shifters. But for general purpose, super simple bidirectional, you can make them out of discrete components. 



Image from here.