Parcourir la source

Domain Edit: Prevent special characters (including hyphen) in domain name.

Nate il y a 6 ans
Parent
commit
5716d8e157
2 fichiers modifiés avec 52 ajouts et 1 suppressions
  1. 21 0
      core/domains/app_languages.php
  2. 31 1
      core/domains/domain_edit.php

+ 21 - 0
core/domains/app_languages.php

@@ -121,6 +121,27 @@ $text['message-delete_failed']['ru-ru'] = "Не выбрана настройк
 $text['message-delete_failed']['sv-se'] = "Ingen Inställning Markerad";
 $text['message-delete_failed']['uk-ua'] = "Налаштування не вказано";
 
+$text['message-invalid_characters']['en-us'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['ar-eg'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['de-at'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['de-ch'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['de-de'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['es-cl'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['es-mx'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['fr-ca'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['fr-fr'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['he-il'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['it-it'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['nl-nl'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['pl-pl'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['pt-br'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['pt-pt'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['ro-ro'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['ru-ru'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['sv-se'] = "Invalid Character(s) Detected";
+$text['message-invalid_characters']['uk-ua'] = "Invalid Character(s) Detected";
+
+
 $text['label-web_fonts']['en-us'] = "Web Fonts";
 $text['label-web_fonts']['ar-eg'] = "الخطوط على شبكة الإنترنت";
 $text['label-web_fonts']['de-at'] = "Web Fonts"; //copied from de-de

+ 31 - 1
core/domains/domain_edit.php

@@ -75,6 +75,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 
 	//check for all required data
 		if (strlen($domain_name) == 0) { $msg .= $text['message-required'].$text['label-name']."<br>\n"; }
+		if (substr_count($domain_name, '-') != 0) { $msg .= $text['message-invalid_characters']."<br>\n"; }
 		//if (strlen($domain_description) == 0) { $msg .= $text['message-required'].$text['label-description']."<br>\n"; }
 		if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) {
 			require_once "resources/header.php";
@@ -533,6 +534,35 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 		echo "</script>";
 	}
 
+//filter domain characters
+	echo "<script language='javascript' type='text/javascript'>\n";
+	echo "	function character_filter(e) {\n";
+	echo "		var keyevent;\n";
+	echo "		var keychar;\n";
+	echo "		if (window.event) {\n";
+	echo "			keyevent = e.keyCode;\n";
+	echo "		}\n";
+	echo "		else if (e.which) {\n";
+	echo "			keyevent = e.which;\n";
+	echo "		}\n";
+	echo "		keychar = keyevent;\n";
+	echo "		if (\n";
+	echo "			(keychar >= 0 && keychar <= 7) ||\n";
+	echo "			(keychar >= 9 && keychar <= 26) ||\n";
+	echo "			(keychar >= 28 && keychar <= 45) ||\n";
+	echo "			(keychar >= 58 && keychar <= 64) ||\n";
+	echo "			(keychar >= 91 && keychar <= 96) ||\n";
+	echo "			(keychar >= 123 && keychar <= 126)\n";
+	echo "			) {\n";
+	echo "			return false;\n";
+	echo "		}\n";
+	echo "		else {\n";
+	echo "			keychar;\n";
+	echo "			return true;\n";
+	echo "		}\n";
+	echo "	}\n";
+	echo "</script>";
+
 //show the content
 	echo "<form method='post' name='frm' action=''>\n";
 	echo "<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n";
@@ -583,7 +613,7 @@ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
 	echo "	".$text['label-name']."\n";
 	echo "</td>\n";
 	echo "<td class='vtable' align='left'>\n";
-	echo "	<input class='formfld' type='text' name='domain_name' maxlength='255' value=\"".escape($domain_name)."\">\n";
+	echo "	<input class='formfld' type='text' name='domain_name' maxlength='255' value=\"".escape($domain_name)."\" onkeypress='return character_filter(event);'>\n";
 	echo "<br />\n";
 	echo $text['description-name']."\n";
 	echo "</td>\n";