Большая Тёрка / Мысли / Личная лента Baka /
Посвящается: ShaDart
programming, Тупость, lulz, коллайдер
Для начала — работы на конкурс самой долбоебической валидации данных формы. Проходит под грифом «без комментариев».
1. Рубрика «валидация e‑mail строгонах по RFC»:
function checkemail ($email) {
$email = trim ($email);
$pos1 = strpos ($email, "@");
$pos2 = strpos ($email, ".");
if (!$pos1 || !$pos2) {
return false;
} else {
return true;
}
}
2. Рубрика «ачотакоерегэкспйобана»:
$account_allowed_chars = $account_allowed_symbols . «0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ»;
$acct_username = trim($_POST['acct_username']);
$length1 = strlen($acct_username);
$length2 = strlen($account_allowed_chars);
for($count1 = 0; $count1 < $length1; $count1++) {
for($count2 = 0; $count2 < $length2; $count2++) {
if ($acct_username[$count1] == $account_allowed_chars[$count2]) {
$goodchar = true;
}
}
if (!$goodchar) {
error(0,str_replace("[[allowed_chars]]",$account_allowed_symbols,$language['invalidname']),"");
}
$goodchar = false;
}
3. Немного фалломорфирующей магии:
// The next step is to make sure the password is at least 3 characters long, and then we hash it
if (trim($_POST['password1']) == trim($_POST['password2']))
if (strlen(trim($_POST['password1'])) > 5)
4. А вот так охрененно нужно от SQL Injection защищаться:
SELECT * FROM `blahblah` WHERE acct_email = \«" . trim($_POST['acct_email']) . »\";
Нахер люди мозг парили, писали всякие нипанятные addslashes() да mysql_real_escape_string() — ковычги‑та надежнее.
З.Ы. И это при том, что уже пару‑тройку раз до этого работали с acct_email. Но, видать, памяти жалко в рег‑скрипте — пральна, нахера ее выделять лишний раз под удобочитаемую переменную, значение которой прошло валидацию, когда можно из поста подергать. У нас же есть суперглобальные массивы!
5. Рубрика «лолштобля?»:
if ($_POST['acct_email'] && $_POST['acct_email'] <> "")
6. Немного верстки:
<P align="center"><P align="center"><a rel=«nofollow» href="http://www.blahblah.org/"><img src=«themes/blahblah/blahblah.jpg» width=«675» height=«87» border="0"></a></P>
<P align=«center» class="errortext"><b>[[lang_error]] [[errormsg]]</b></P>
<P align="center">[[footer]]</P>
P.S. И — да! Это все в одном скрипте! Вебдев, учитесь xD