AJAX warning if a user enters an invalid domain
This commit is contained in:
parent
d66b72d34e
commit
d3c977a5f3
|
@ -2,6 +2,8 @@ package cyberman::API;
|
||||||
use Dancer2 appname => "cyberman";
|
use Dancer2 appname => "cyberman";
|
||||||
use Dancer2::Plugin::Database;
|
use Dancer2::Plugin::Database;
|
||||||
|
|
||||||
|
use cyberman::Helper;
|
||||||
|
|
||||||
get '/api/check_availability' => sub {
|
get '/api/check_availability' => sub {
|
||||||
# No auth req'd
|
# No auth req'd
|
||||||
# returns 'y' or 'n'
|
# returns 'y' or 'n'
|
||||||
|
@ -12,6 +14,10 @@ get '/api/check_availability' => sub {
|
||||||
return "n";
|
return "n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!check_name(param "name")) {
|
||||||
|
return "n";
|
||||||
|
}
|
||||||
|
|
||||||
my $result = database->quick_select(
|
my $result = database->quick_select(
|
||||||
"domain",
|
"domain",
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,7 +3,7 @@ package cyberman::Domains;
|
||||||
use Dancer2 appname => "cyberman";
|
use Dancer2 appname => "cyberman";
|
||||||
use Dancer2::Plugin::Database;
|
use Dancer2::Plugin::Database;
|
||||||
|
|
||||||
use cyberman::Helper qw(auth_test);
|
use cyberman::Helper;
|
||||||
use if config->{"use_nsd"}, "NSD::Interface";
|
use if config->{"use_nsd"}, "NSD::Interface";
|
||||||
|
|
||||||
get '/domains' => sub {
|
get '/domains' => sub {
|
||||||
|
@ -33,7 +33,7 @@ post '/domains/new' => sub {
|
||||||
my $name = lc param("name");
|
my $name = lc param("name");
|
||||||
|
|
||||||
if (scalar(keys(%errs)) == 0) {
|
if (scalar(keys(%errs)) == 0) {
|
||||||
if (param("name") !~ m/^[a-z0-9]([a-z0-9\-_]*[a-z0-9])?$/) {
|
if (!check_name(param "name")) {
|
||||||
$errs{"e_chars"} = 1;
|
$errs{"e_chars"} = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ use Digest::Bcrypt;
|
||||||
|
|
||||||
use Exporter qw(import);
|
use Exporter qw(import);
|
||||||
|
|
||||||
our @EXPORT = qw(auth_test randstring hash_password);
|
our @EXPORT = qw(auth_test randstring hash_password check_name);
|
||||||
|
|
||||||
# Helper functions
|
# Helper functions
|
||||||
|
|
||||||
|
@ -60,4 +60,13 @@ sub hash_password {
|
||||||
return ($b->bcrypt_b64digest, $salt);
|
return ($b->bcrypt_b64digest, $salt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub check_name {
|
||||||
|
my $name = shift;
|
||||||
|
if ($name =~ m/^[a-z0-9]([a-z0-9\-_]*[a-z0-9])?$/) {
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
Loading…
Reference in New Issue