I found my DLink less than reliable at blocking sites, and you don't get a log on most of them. I not only wanted to block sites, but I wanted to be able to see which sites my kids were visiting.
What I did was install a free proxy server called ccproxy on my system, which is cabled into the router. I then used the router to block internet access from their machines, and using the Internet Options on their systems I set mine to be the proxy server. With this setup I can block URLs, keywords, and get a log of all requests. I can also set very flexible scheduling.