вот вам скрипт редактирования email для пользователя

Вопросы по UTM 3.0 и UTM 4.0 (поддержка прекращена)
Закрыто
dios
Сообщения: 42
Зарегистрирован: Сб мар 12, 2005 08:38

вот вам скрипт редактирования email для пользователя

Сообщение dios »

позволить менять свой email пользователю поможет следующий скрипт

email.php

Код: Выделить всё

<?php
include "main.php";
echo "<title>оНВРНБЮЪ ПЮЯЯШКЙЮ</title>";
if &#40;isset&#40;$email_str&#41; or isset&#40;$email_edit&#41;&#41;
&#123;
    mysql_query&#40;"update users set email='$email_str' where id='$uid' "&#41;;
    echo _EDITED;
    echo "<br><br><a href=\"email.php?sid=$sid\">"._NEXT."</a>";
    exit;
&#125;
$prepare_find="select * from users where id='$uid'";
$result=mysql_query&#40;$prepare_find&#41;;
$row=mysql_fetch_array&#40;$result&#41;;
echo _COMMENT."<br><br>";
echo  "<br><form  action=\"email.php?sid=$sid\" method=\"post\">";
echo _EMAIL." ";
if &#40;$row&#91;email&#93;==""&#41; echo "<input type=text name=\"email_str\" size=\"30\">";
else echo "<input type=text name=\"email_str\" size=\"30\" value = '$row&#91;email&#93;'>";
echo " ";
echo  "<input  type=submit name=\"email_edit\" value="._EDIT.">";
echo  "</form>";
?>
main.php

Код: Выделить всё

<?php
$mysql_server="localhost";
$mysql_login="";
$mysql_passwd="";
$dbname="UTM";

define&#40;_EDIT,'хГЛЕМХРЭ'&#41;;
define&#40;_EMAIL,'e-mail&#58; '&#41;;
define&#40;_NEXT,'дЮКЕЕ'&#41;;
define&#40;_EDITED,'хГЛЕМЕМН'&#41;;
define&#40;_COMMENT,'мЮ СЙЮГЮММШИ ЮДПЕЯ АСДЕР ЮБРНЛЮРХВЕЯЙХ НРЯШКЮРЭЯЪ ОПЕДСОПЕФДЕМХЕ НА НЙНМВЮМХХ бЮЬЕЦН ДЕМЕФМНЦН АЮКЮМЯЮ, Ю РЮЙ ФЕ МНБНЯРХ ЯЕРХ.'&#41;;

//=============================================================================
$SID=$sid;
if&#40;!mysql_pconnect&#40;$mysql_server, $mysql_login, $mysql_passwd&#41;&#41;
    &#123;
    echo "Error Connect to database ".$dbname."!<br>";
    echo mysql_error&#40;&#41;;
    exit;
&#125;
mysql_select_db&#40;"$dbname"&#41;;

//=================================== test session ===================================
$ip=getenv&#40;REMOTE_ADDR&#41;;
$ct=time&#40;&#41;;
$ses=mysql_query&#40;"select * from sessions where &#40;s_id = '$sid'&#41;and&#40;ip ='$ip'&#41;and &#40;&#40;l_responce+10*60*60&#41; > '$ct'&#41; "&#41;;
if &#40;mysql_num_rows&#40;$ses&#41;==0&#41;
&#123;
echo "ACCES DENIED!";
exit;
&#125;
$rses=mysql_fetch_array&#40;$ses&#41;;
$uid=$rses&#91;uid&#93;;

//=================================== update session ===================================
$ip=getenv&#40;REMOTE_ADDR&#41;;
$ct=time&#40;&#41;;
$ses=mysql_query&#40;"select * from sessions where s_id = '$sid'"&#41;;
$rses=mysql_fetch_array&#40;$ses&#41;;
$ct=time&#40;&#41;;
$upses=mysql_query&#40;"update sessions set l_responce='$ct' where s_id = '$sid'"&#41;;
?>

Victor
Сообщения: 207
Зарегистрирован: Чт янв 20, 2005 18:55
Контактная информация:

Сообщение Victor »

dios, голову надо отрывать за такие скрипты...
Ты что делаешь??! Подставляешь, полученную от юзера переменную прямо в SQL-запрос... мда...
NetUP UTM 4.0 [1 +update 17 may 2004], NetUP RADIUS SERVER [], RH Linux 9.0

dios
Сообщения: 42
Зарегистрирован: Сб мар 12, 2005 08:38

Сообщение dios »

ну скажи тогда как правельно это вставить в запрос

Victor
Сообщения: 207
Зарегистрирован: Чт янв 20, 2005 18:55
Контактная информация:

Сообщение Victor »

Первое правило при работе с переменными получеными методом GET или POST: не доверять таким данным, проверять содержание, отсекать все лишнее. Например в твоем скрипте влегкую через переменную можно организовать SQL-injection... При работе в php отрубать в php.ini register_globals и получать данные через глобоальные переменные $_GET[] и $_POST[]
NetUP UTM 4.0 [1 +update 17 may 2004], NetUP RADIUS SERVER [], RH Linux 9.0

Закрыто