Maybe this is what you're looking for:
On *:open:?:*:{ .timer 1 0 auth_query $nick }
alias -l auth_query {
if $?!="Accept private message from $1" == $false {
.ignore -pntiu120 *!*@ $+ $gettok($query($1).addr,2,64)
close -m $1
}
}
It asks you for an authorization every time a new query window is open.
If you select 'No', the window will be closed, and a temporary ignore will be placed on the user's host.
The timer is used, because mIRC doesn't allow user-input identifiers ($input, $?, $?!) to be called directly from an event.