mirror of
https://github.com/friendica/friendica
synced 2024-12-23 02:00:17 +00:00
validate email addresses to see if the hostnames actually resolve before committing a new user
This commit is contained in:
parent
f9497bcb95
commit
949842a88d
2 changed files with 17 additions and 6 deletions
20
boot.php
20
boot.php
|
@ -1160,13 +1160,25 @@ function validate_url(&$url) {
|
|||
$url = 'http://' . $url;
|
||||
$h = parse_url($url);
|
||||
|
||||
if(! $h) {
|
||||
return false;
|
||||
if(($h) && (checkdnsrr($h['host'], 'ANY'))) {
|
||||
return true;
|
||||
}
|
||||
if(! checkdnsrr($h['host'], 'ANY')) {
|
||||
return false;
|
||||
}}
|
||||
|
||||
// checks that email is an actual resolvable internet address
|
||||
|
||||
if(! function_exists('validate_email')) {
|
||||
function validate_email($addr) {
|
||||
|
||||
if(! strpos($addr,'@'))
|
||||
return false;
|
||||
$h = substr($addr,strpos($addr,'@') + 1);
|
||||
|
||||
if(($h) && (checkdnsrr($h, 'ANY'))) {
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
return false;
|
||||
}}
|
||||
|
||||
// Check $url against our list of allowed sites,
|
||||
|
|
|
@ -65,10 +65,9 @@ function register_post(&$a) {
|
|||
if(! allowed_email($email))
|
||||
$err .= t('Your email domain is not among those allowed on this site.') . EOL;
|
||||
|
||||
if(! valid_email($email))
|
||||
if((! valid_email($email)) || (! validate_email($email)))
|
||||
$err .= t('Not a valid email address.') . EOL;
|
||||
|
||||
|
||||
$nickname = $_POST['nickname'] = strtolower($nickname);
|
||||
|
||||
if(! preg_match("/^[a-z][a-z0-9\-\_]*$/",$nickname))
|
||||
|
|
Loading…
Reference in a new issue