PDA

View Full Version : سوال: امنییت کد من



sedamorde
شنبه 04 آبان 1387, 14:45 عصر
دوستان به نظر شما این کد برای ورود و چک کردن کاربر چطوره؟ میدونم اشکال داره لطفا بهم بگید:خجالت::لبخندساده:

ورود:


session_name ('test');
session_save_path('php_tmp');
session_start();

if(isset($_POST['username'])) {
// post
$username = htmlspecialchars (addslashes($_POST['username']));
$password = htmlspecialchars (addslashes($_POST['password']));

if(empty($_POST['username']) || empty($_POST['password'])) {
header('Location: login.php');
exit; }

// db
$conn_db = sql_conn();

$result = $conn_db->query("SELECT * FROM user_account
WHERE email='$username'
AND passw=md5('$password') LIMIT 0, 01");
if(!$result)
throw new Exception('Could not login!');

if($result->num_rows>0) {
$_SESSION['LOGIN'] = $username;
$_SESSION['LOGINIP'] = $_SERVER['REMOTE_ADDR'];}

if(isset($_SESSION['LOGIN']))
{ header('Location: index.php'); }
else
{ $error = 'شناسه کاربری و یا واژه رمز صحیح نمیباشد.'; }

$conn_db->close(); // Close dbچک کردن:

function users_check()
{
session_name ('test');
session_save_path('D:\xamp\htdocs\login\php_tmp');
session_start();
if(!isset($_SESSION['LOGIN'])) {
header ('Location: login.php');
exit; }
}

sedamorde
یک شنبه 05 آبان 1387, 16:36 عصر
یعنی انقدر بده که کسی حاضر نیست نظر بده!!!؟ :(

vahid4134
یک شنبه 05 آبان 1387, 17:27 عصر
مشکل خاصی نداره. البته می تونید بهترش کنید اما تا اینجاش هم خوبه و توی کدش نقصی نیست
اما برای فیلتر کردن ورودی که از htmlspecialchars استفاده کردید بهتره از mysql_real_escape_string هم استفاده کنید

sedamorde
دوشنبه 06 آبان 1387, 03:55 صبح
مرسی وحید جان , میشه لطف کنی و بگی برای بهتر کردنش چه کارهایی میشه کرد!؟ بیشتر دنبال اینم که امن باشه.

vahid4134
دوشنبه 06 آبان 1387, 14:05 عصر
تا اینجاش که خوبه بهتره سایت http://phpsec.org/ رو ببینی . بحثهاش رو در همین حدی که توی سایت گفته رعایت کنی کدت امن هست (کد نویسی امن توی php آنچنان سخت نیست)

sedamorde
دوشنبه 06 آبان 1387, 22:53 عصر
مرسی وحید جان لطف کدی :)