A lot of people here will scream bloody murder when they hear "unpaid internship". Probably because in general, it's the company taking advantage of the intern. Keep in mind however that these are all CS majors, and unpaid internships for a well practiced CS major is indeed bologna because of all the studying they've done.
However, in your situation you have little experience and you won't have a CS degree when you graduate. You also are close to graduation, so it's a bit late to switch it up and go for the CS degree (you could do this, though).
This being the case, the term "beggars can't be choosers" comes to mind. If you have an internship opportunity to get some professional experience on your resume doing web development, go for it. It could very well lead to more opportunities provided you continue sharpening your skills on your own and build a few projects to demonstrate what you know. You may not get paid, and that could say something about the company's management and culture which means it may not be the best experience in the world for you. But, for someone busting their way into the field without a STEM degree and little experience, you just sometimes have to take a rough route to get where you want to be.
In my opinion, I would say take an unpaid internship if you can find one and bust your ass to learn as much as you can, and work on side projects as well for your portfolio.
I'd also say to keep looking and try to find something that's paid, but if nothing comes up and unpaid is your only option and you really want to be a developer, this is an opportunity you shouldn't pass up. Just my opinion.