How to block Direct ip requests?

I need only domain access

Configure your server’s firewall to only allow Cloudflare.com/ips

If you’re using Apache, it might be possible to do this with Allow/Deny in .htaccess.

What’s wrong, this rule doesnt block?

Direct IP requests through Cloudflare will not go through, as your server’s IP address is not Cloudflare.

As I said, you have to do this at your server.