Тёрка в тагах


Друзья

Его(73) Общие(0) Хотят дружить(56)


  • 37737

  • AbbaDon

  • AIREEShadow

  • aishka

  • allsawa

  • Alur71

Ещё →

Враги

Его(0) Общие(0) Обиженные(6)


  • Dragon-SATANAS

  • Draiver

  • Gyrgen

  • neroman

  • PacMan

  • Snappikk

Большая Тёрка / Мысли / Личная лента Baka /


Baka

Посвящается: ShaDart

PHP. Как много в этом слове!

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;
}
}

[CUT]CLICK HERE FOR MOAR LULZ[/CUT]

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