[ Ïîèñê ] - [ Ïîëüçîâàòåëè ] - [ Êàëåíäàðü ]
Ïîëíàÿ Âåðñèÿ: Ïðîâåðüòå ñêðèïò
DeeKeiD
Ýòî ìîÿ íàâåðíîå 20ÿ ïîïûòêà íàïèñàòü ñêðèïò ðåãèñòðàöèè...

Ñâåðíóòûé òåêñò

PHP
<?php
/*
    DCMS - DeeKeiD'z Content Managment System
    This file is protected by the intelectual property law
    Code by : DeeKeiD
*/
include ('locale/'.$userlang.'/register.php');
/* Registration function */
if(isset($_POST['register']))
{
$err = array();
/* Getting form data */
$reg_login        = isset($_POST['login'])?$_POST['login']:NULL;
$reg_passw1    = isset($_POST['password1'])?$_POST['password1']:NULL;
$reg_passw2    = isset($_POST['password2'])?$_POST['password2']:NULL;
$reg_nick         = isset($_POST['nickname'])?$_POST['nickname']:NULL;
$reg_email       = sset($_POST['email'])?$_POST['email']:NULL;
$userip        =    $_SERVER['REMOTE_ADDR'];
/* Empty fields check */
    if(empty($reg_login) || empty($reg_passw1) || empty($reg_passw2) || empty($reg_email))
    {
        $err[] = $locale['reg_err_01'];
    }
/* User existance check */
    $c_query    =    mysql_query("SELECT `id` FROM `users` WHERE `login` = '". mysql_real_escape_string($reg_login) ."'");
    $c_result    =    mysql_num_rows($c_query);
    if($c_result > 0)
    {
        $err[] = $locale['reg_err_02'];
    }
/* User IP existance check */
    $c2_query    =    mysql_query("SELECT `id` FROM `users` WHERE `ip` = '". $userip ."'");
    $c2_result    =    mysql_num_rows($c2_query);
    if($c2_result > 0)
    {
        $err[] = $locale['reg_err_03'];
    }
/* Field symbol check */
    if (!preg_match("/^[-0-9A-Z_@\s]+$/i", $reg_login))
    {
        $err[] = $locale['reg_err_04'];
    }
    
    if 
(preg_match("/^[0-9A-Z@]{6,20}$/i", $reg_passw1))
    {
        $err[] = $locale['reg_err_06'];
    }
 
    if 
(!preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $reg_email))
    {
        $err[] = $locale['reg_err_07'];
    }
    if ($reg_passw1 != $reg_passw2)
    {
        $err[] = $locale['reg_err_05'];
    }
/* Error display function */
    if(!empty($err))
    {
        echo    '<table class="help-hint">';
        echo    '<tr>';
        echo    '<td class="middle" width="60"><img src="images/warning.png"align="absmiddle"></td>';
        echo    '<td class="middle" align="left">'. implode('<br />', $err) .'</td>';
        echo    '</tr>';
        echo    '</table>';
    }
/* Registration success function */
    else
    
{
        /* Encoding password */
        $pwd    =    md5($reg_passw1);
        /* Filtering data */
        $l    =    mysql_real_escape_string($reg_login);
        $p    =    mysql_real_escape_string($pwd);
        $n    =    mysql_real_escape_string($reg_nick);
        $e    =    mysql_real_escape_string($reg_email);
        mysql_query("INSERT INTO `users`
        (login,password,nickname,email,reg_date,ip)
        VALUES
        ('"
. $l ."','". $p ."','". $n ."','". $e ."',NOW(),'". $userip ."')") or die(mysql_error());
        echo $locale['reg_success'];
    }
}
else
{
/* HTML Form */
echo    '<form method="POST">';
echo    '<table border="0" width="100%" class="head1">';
echo    '<tr>';
echo        '<td align="center">'. $locale['reg_01'] .'</td>';
echo    '</tr>';
echo    '</table>';
echo    '<table border="0" width="100%" class="body1">';
echo    '<tr>';
echo        '<td width="30%">&nbsp;'. $locale['reg_02'] .'</td>';
echo        '<td width="70%"><input type="text" name="login" size="30"></td>';
echo    '</tr>';
echo    '<tr>';
echo        '<td width="30%">&nbsp;'. $locale['reg_03'] .'</td>';
echo        '<td width="70%"><input type="password" name="password1" size="30"></td>';
echo    '</tr>';
echo    '<tr>';
echo        '<td width="30%">&nbsp;'. $locale['reg_04'] .'</td>';
echo        '<td width="70%"><input type="password" name="password2" size="30"></td>';
echo    '</tr>';
echo    '<tr>';
echo        '<td width="30%">&nbsp;'. $locale['reg_05'] .'</td>';
echo        '<td width="70%"><input type="text" name="nickname" size="30"></td>';
echo    '</tr>';
echo    '<tr>';
echo        '<td width="30%">&nbsp;'. $locale['reg_06'] .'</td>';
echo        '<td width="70%"><input type="text" name="email" size="30"></td>';
echo    '</tr>';
echo    '<tr>';
echo        '<td width="30%"></td>';
echo        '<td width="70%"><input type="submit" value="'. $locale['reg_07'] .'" name="register"></td>';
echo    '</tr>';
echo    '</table>';
echo    '</form>';
}


Êàêèå â í¸ì ñóùåñòâóþò óÿçâèìîñòè è ÷òî ñ ïîìîùüþ èõ ìîæíî ñäåëàòü? æåëàòåëüíî â ïðèìåðàõ òèïà:

Ñòðîêà:
PHP
$res = mysql_query("SELECT `id` FROM `users` WHERE `login` = '$_POST['login']'");

Óÿçâèìîñòü: âñòàâêà ëåâîé èíôû ìåòîäîì $_POST áåç ïðîâåðêè\ôèëüòðàöèè
Íó è âàøè çàìå÷àíèÿ ïî êîäó\ñòèëþ biggrin.gif



Ñïóñòÿ 35 ìèíóò, 51 ñåêóíäà (2.11.2009 - 10:56) Oyeme íàïèñàë(à):
÷òî ýòî çà áðåä ñ ïåðåìåííî $var?
PHP
$reg_login    =    $var = isset($_POST['login'])?$_POST['login']:NULL;


çà÷åì òåáå ñêðûòîå ïîëå?
PHP
if($_POST['action']=='register')


ïðîâåðêó äåëàé íà

PHP
<input type="submit" value="'. $locale['reg_07'] .'" name='register'></td>;

PHP
if(isset($_POST['register'])){ ... }


Ï.Ñ ôîðóì íàïèñàí êîðÿâûì ïðîãðàììèñòîì,íàïèñàòü íåëüçÿ,åððîðû îäíè.

Ñïóñòÿ 15 ìèíóò, 19 ñåêóíä (2.11.2009 - 11:11) DeeKeiD íàïèñàë(à):
îé ÷åòî òóïëþ óæå biggrin.gif çàáûë $var ñìåíèòü íà òî ÷òî íàäî, ïîïðàâèë

Ñïóñòÿ 1 äåíü, 1 ÷àñ, 34 ìèíóòû, 24 ñåêóíäû (3.11.2009 - 12:46) DeeKeiD íàïèñàë(à):
Íàðîä íå èãíîðèðóéòå

Ñïóñòÿ 13 ìèíóò, 23 ñåêóíäû (3.11.2009 - 12:59) Dezigo íàïèñàë(à):
SQL
/* User existance check */
$c_query = mysql_query("SELECT `id` FROM `users` WHERE `login` = '". mysql_real_escape_string($reg_login) ."'");
$c_result = mysql_num_rows($c_query);
if($c_result > 0)
{
$err[] = $locale['reg_err_02'];
}
/* User IP existance check */
$c2_query = mysql_query("SELECT `id` FROM `users` WHERE `ip` = '". $userip ."'");
$c2_result = mysql_num_rows($c2_query);
if($c2_result > 0)
{
$err[] = $locale['reg_err_03'];
}


íå ïîñûëàé 2 çàïðîñà â îäíó òàáëèöó ñ ðàçíûìè êðèòåðèÿìè êàê 2 ðàçíûõ çàïðîñà, ëó÷øå ýòî îáúåäåíè â 1 çàïðîñ ñ ïîìîùüþ
SQL
AND


SQL
"SELECT `id` FROM `users` WHERE ip ='127.0.0.1' AND name='dezigo'";

Ñïóñòÿ 4 ìèíóòû, 27 ñåêóíä (3.11.2009 - 13:04) Dezigo íàïèñàë(à):
SQL
('". $l ."','". $p ."','". $n ."','". $e ."',NOW(),'". $userip ."'

ñîâåò:ëó÷øå ïèñàòü
PHP
'$a','$b','$c'

áåç "
PHP
" ' $a ' "," ' $b ' ",

Ñïóñòÿ 15 ìèíóò, 55 ñåêóíä (3.11.2009 - 13:20) twin íàïèñàë(à):
Öèòàòà
ñîâåò:ëó÷øå ïèñàòü

Ïëîõîé ñîâåò.
Ïî òåìå.
1. Íàôèãà îãðàíè÷èâàåøü ñèìâîëû â ïàðîëå?
2. Íåò íèêàêîé ïðîâåðêè èëè îáðàáîòêè ip. À ýòî òàêèå æå äàííûå èçâíå.
3.
PHP
$p    =    mysql_real_escape_string($pwd);
ïîñëå
Öèòàòà
$pwd    =    md5($reg_passw1);
íå ñîâñåì îïðàâäàíî, â õýøå íå áûâàåò àïîñòðîôîâ. Íî âïðèíöèïå ýòî íå ñòðàøíî, äàæå íîðìàëüíî â ïëàíå ïðèâû÷êè. ß ïðîñòî àêöåíòèðóþ, ÷òî íåëüçÿ íàîáîðîò. ×òî ÷àñòî äåëàþò.
4. Ðåãóëÿðêà ìûëà íàïèñàíà íåêîððåêòíî íåìíîãî.  äîìåíå íå ìîæåò áûòü ñèìâîëà ïîä÷åðêèâàíèÿ.

Ñïóñòÿ 10 ìèíóò, 20 ñåêóíä (3.11.2009 - 13:30) DeeKeiD íàïèñàë(à):
1. Ýòî ïîêà ÷òî åù¸ ñûðîé ñêðèïò smile.gif ãëàâíîå ÷òîá óÿçâèìîñòåé íåáûëî
2. Ïðîâåðêà íà îáðàáîòêó ip? íåïîíÿòíî ÷òî âëçîìùèê ñìîæåò ñäåëàòü ñî ñâîèì ip ÷òîá íàíåñòè êàêîé ëèáî âðåä ñàéòó
3. ýòî ÿ íà âñÿêèé ñëó÷àé smile.gif
4. Õì ó ìåíÿ íàïðèìåð åñòü ìûëî â mail[ru] òèïà xf_@mail[ru]

Ñïóñòÿ 8 ìèíóò, 4 ñåêóíäû (3.11.2009 - 13:38) twin íàïèñàë(à):
Öèòàòà
2. Ïðîâåðêà íà îáðàáîòêó ip? íåïîíÿòíî ÷òî âëçîìùèê ñìîæåò ñäåëàòü ñî ñâîèì ip ÷òîá íàíåñòè êàêîé ëèáî âðåä ñàéòó

Ñïóñòÿ 51 ñåêóíäà (3.11.2009 - 13:39) twin íàïèñàë(à):
Öèòàòà
4. Õì ó ìåíÿ íàïðèìåð åñòü ìûëî â mail[ru] òèïà xf_@mail[ru]

ß ïðî äîìåí, òî ÷òî ïîñëå ñîáàêè.

Ñïóñòÿ 15 ìèíóò, 59 ñåêóíä (3.11.2009 - 13:55) DeeKeiD íàïèñàë(à):
Öèòàòà (twin @ 3.11.2009 - 10:38)
Öèòàòà
2. Ïðîâåðêà íà îáðàáîòêó ip? íåïîíÿòíî ÷òî âëçîìùèê ñìîæåò ñäåëàòü ñî ñâîèì ip ÷òîá íàíåñòè êàêîé ëèáî âðåä ñàéòó

Õììì... íó ó ìåíÿ íà COOKIES íè÷åãî íåòó êðîìå, ÿçûêà ïîëüçîâàòåëåé


_____________
Áåñïîëåçíî ïðîñèòü ïîùàäû ó öåçàðÿ
Ôàòàëüíàÿ îøèáêà : Çâîíîê â íåîïðåäåëåííóþ ôóíêöèþ ©
Áûñòðûé îòâåò:

 Ãðàôè÷åñêèå ñìàéëèêè |  Ïîêàçûâàòü ïîäïèñü
Çäåñü ðàñïîëîæåíà ïîëíàÿ âåðñèÿ ýòîé ñòðàíèöû.
Invision Power Board © 2001-2025 Invision Power Services, Inc.