In zsh: setopt ignore_eof
In ksh: set +o ignoreeof
In tcsh/csh: set ignoreeof
Normally I just do this for login shells, so I can quickly exit out of subshells.
https://www.google.co.in/search?q=bash+set+noclobber
For bash I set `IGNOREEOF=1` so as to have to press ctrl+d twice to exit. Ten times seems a bit too many.
How to do the same for zsh?