Transparent proxies - yes. They send headers like X-REAL-IP or X-REDIRECTED-FOR, but you can fake those, so don't rely on them.
Check the folowing variables, they should be empty by direct connection: HTTP_VIA HTTP_PROXY HTTP_XPROXY HTTP_PROXY_CONNECTION HTTP_X_FORWARDED_FOR X_HTTP_FORWARDED_FOR HTTP_FORWARDED X_FORWARDED_FOR ORIGINAL_REMOTE_ADDR