[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnuheter-dev] Massa fixar i user.php
From: |
Ulf Harnhammar |
Subject: |
[Gnuheter-dev] Massa fixar i user.php |
Date: |
Tue, 4 Jun 2002 18:42:28 +0200 (CEST) |
Hej igen,
jag tittade vidare i koden och fann att kontrollen av ny användare i
user.php inte riktigt föll mig i smaken. Förutom massor med småändringar
och tillägg i reguljära uttryck och dylikt delade jag upp userChecks alla
tester i tre funktioner. Dessutom kan koden nu visa mer än ett fel på en
nyregistrering åt gången.
// Ulf Härnhammar (hmm, fint väder utanför, dags att lägga ner det här)
--- user.php.OLD Tue Jun 4 17:49:25 2002
+++ user.php Tue Jun 4 18:31:03 2002
@@ -43,22 +43,46 @@
echo "<p>\n";
}
+function userCheckMail($email) {
+ if (strrpos($email,' ') > 0) return "FEL: Epostadressen får inte
innehålla mellanslag.";
+ if ((!$email) || ($email == "") ||
(!eregi("^[-_.0-9a-z]+@([0-9a-z][-0-9a-z]+\.)+[a-z]{2,6}$",$email)) ||
+ (eregi('@whitehouse\.gov$',$email)) || (eregi('^echo@',$email)))
+ return "FEL: Felaktig epostadress."; # localhost och 127.0.0.1
blockas redan
+
+ return false;
+}
+
+function userCheckUsername($uname) {
+ if
(eregi("^(root|adm|linux|webmaster|admin|god|administrator|staff|nobody|anonymous|anonym|superuser|operator|gnuheter|support|gnu)$",$uname))
+ return "FEL: Namnet är reserverat.";
+ if (strlen($uname) > 25) return "FEL: Användarnamnet är för långt. Det
måste innehålla färre än 26 tecken.";
+ if (strrpos($uname,' ') > 0) return "FEL: Användarnamnet får inte
innehålla mellanslag.";
+ if ((!$uname) || ($uname == "") || (ereg("[^a-zA-Z0-9_-]",$uname)))
return "FEL: Otillåtet användarnamn.";
+
+ return false;
+}
+
function userCheck($uname, $email) {
- $stop = "";
- if ((!$email) || ($email == "") ||
(!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email))) $stop =
"FEL: felaktig epostadress";
- if (strrpos($uname,' ') > 0) $stop = "FEL: Epostadressen får inte
innehålla mellanslag.";
- if ((!$uname) || ($uname == "") || (ereg("[^a-zA-Z0-9_-]",$uname)))
$stop = "FEL: Otillåtet användarnamn.";
- if (strlen($uname) > 25) $stop = "FEL: Användarnamnet är för långt. Det
måste innehålla färre än 25 tecken.";
- if
(eregi("^((root)|(adm)|(linux)|(webmaster)|(admin)|(god)|(administrator)|(staff)|(nobody)|(anonymous)|(anonym)|(superuser)|(operator)|(gnuheter))$",$uname))
$stop = "FEL: Namnet är reserverat.";
- if (strrpos($uname,' ') > 0) $stop = "FEL: Användarnamnet får inte
innehålla mellanslag.";
+ $stop = array();
+
+ $stopvar = userCheckMail($email);
+ if ($stopvar) $stop[] = $stopvar;
+
+ $stopvar2 = userCheckUsername($uname);
+ if ($stopvar2) $stop[] = $stopvar2;
+
dbconnect();
- if (mysql_num_rows(mysql_query("SELECT uname FROM users WHERE
uname='$uname'")) > 0) $stop = "FEL: Användarnamnet redan upptaget.";
- if (mysql_num_rows(mysql_query("SELECT email FROM users WHERE
email='$email'")) > 0) $stop = "FEL: Epostadressen är redan registrerad.";
+ if (mysql_num_rows(mysql_query("SELECT uname FROM users WHERE
uname='$uname'")) > 0) $stop[] = "FEL: Användarnamnet är redan upptaget.";
+ if (mysql_num_rows(mysql_query("SELECT email FROM users WHERE
email='$email'")) > 0) $stop[] = "FEL: Epostadressen är redan registrerad.";
- if ($stop) {
- $stop = "<div align=\"center\">$stop</div><br>\n";
- return($stop);
+ if (count($stop) > 0) {
+ $stopret = "<div align=\"center\">\n";
+ foreach ($stop as $stopval)
+ $stopret .= "$stopval<br>\n";
+ $stopret .= "</div>\n";
+ return($stopret);
}
+
return false;
}
@@ -85,8 +109,8 @@
echo "Username: $uname<br>\n";
echo "Email: $email<br>\n";
echo "<form action=\"user.php\" method=\"POST\">\n";
- echo " <input type=\"hidden\" name=\"uname\" value=\"<?=
$uname; ?>\">\n";
- echo " <input type=\"hidden\" name=\"email\" value=\"<?=
$email; ?>\">\n";
+ echo " <input type=\"hidden\" name=\"uname\"
value=\"$uname\">\n";
+ echo " <input type=\"hidden\" name=\"email\"
value=\"$email\">\n";
echo " <input type=\"hidden\" name=\"op\"
value=\"finish\"><br><br>\n";
echo " <input type=\"submit\" value=\"Färdig\">\n";
echo "</form>\n";
gnuheter_patch2
Description: Text document
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnuheter-dev] Massa fixar i user.php,
Ulf Harnhammar <=