Why FILTER_VALIDATE_DOMAIN allow character like dot, emoji, empty value, special char?

5.1k views Asked by At

I've had used the FILTER_VALIDATE_DOMAIN to validate domain but it allow the all character like space, special character, empty value seems like not working

here are some examples all return none bool value.

var_dump(filter_var("0", FILTER_VALIDATE_DOMAIN));
var_dump(filter_var('test', FILTER_VALIDATE_DOMAIN));
var_dump(filter_var('test test', FILTER_VALIDATE_DOMAIN));
var_dump(filter_var('@', FILTER_VALIDATE_DOMAIN));
var_dump(filter_var('', FILTER_VALIDATE_DOMAIN));

I expect that should be return false.

1

There are 1 answers

0
Eduardo Castelhano On

Insert the condition FILTER_FLAG_HOSTNAME

var_dump(filter_var("0", FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME));
var_dump(filter_var('test', FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME));
var_dump(filter_var('test test', FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME));
var_dump(filter_var('@', FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME));
var_dump(filter_var('', FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME));