session

memeri

Member
سلام دوستان
می شه آموزش ثبت session رو تو بانک اطلاعاتی بدید.
بعد یه سوال دیگه!!!!
سیستم های بانکی رو عموماً با asp.net می نویسند
امنیت کدوم یکی از زبان های server side بیشتره؟؟؟؟
 

jhoseini

Member
What's a better solution? Don't use the same session store as everyone else. Preferably, store them in a database where the
access credentials are unique to your account. To do this, simply use the session_set_save_handler() function to
override PHP's default session handling with your own PHP functions.
The following code shows a simplistic example for storing sessions in a database:
PHP:
<?php
session_set_save_handler('_open',
'_close',
'_read',
'_write',
'_destroy',
'_clean');

function _open()
{
global $_sess_db;
$db_user = $_SERVER['DB_USER'];
$db_pass = $_SERVER['DB_PASS'];
$db_host = 'localhost';
if ($_sess_db = mysql_connect($db_host, $db_user, $db_pass))
{
return mysql_select_db('sessions', $_sess_db);
}
return FALSE;
}
function _close()
{
global $_sess_db;
return mysql_close($_sess_db);
}
function _read($id)
{
global $_sess_db;
$id = mysql_real_escape_string($id);
$sql = "SELECT data
FROM sessions
WHERE id = '$id'";
if ($result = mysql_query($sql, $_sess_db))
{
if (mysql_num_rows($result))
{
$record = mysql_fetch_assoc($result);
return $record['data'];
}
}
return '';
}

function _write($id, $data)
{
global $_sess_db;
$access = time();
$id = mysql_real_escape_string($id);
$access = mysql_real_escape_string($access);
$data = mysql_real_escape_string($data);
$sql = "REPLACE
INTO sessions
VALUES ('$id', '$access', '$data')";
return mysql_query($sql, $_sess_db);
}
function _destroy($id)
{
global $_sess_db;
$id = mysql_real_escape_string($id);
$sql = "DELETE
FROM sessions
WHERE id = '$id'";
return mysql_query($sql, $_sess_db);
}
function _clean($max)
{
global $_sess_db;
$old = time() - $max;
$old = mysql_real_escape_string($old);
$sql = "DELETE
FROM sessions
WHERE access < '$old'";
return mysql_query($sql, $_sess_db);
}
?>

This requires an existing table named sessions, whose format is as follows:
mysql> DESCRIBE sessions;
+--------+------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+------------------+------+-----+---------+-------+
| id | varchar(32) | | PRI | | |
| access | int(10) unsigned | YES | | NULL | |
| data | text | YES | | NULL | |
+--------+------------------+------+-----+---------+-------+
This database can be created in MySQL with the following syntax:
کد:
CREATE TABLE sessions
(
id varchar(32) NOT NULL,
access int(10) unsigned,
data text,
PRIMARY KEY (id)
);
Storing your sessions in a database places the trust in the security of your database. Recall the lessons learned when we
spoke about databases and SQL, because they are applicable here.​

منبع : php-security-guide.pdf
 

mohammad-s

Member
سیستم های بانکی رو عموماً با asp.net می نویسند
امنیت کدوم یکی از زبان های server side بیشتره؟؟؟؟

معمولا سایت های بانکی رو میدن دست کسایی بسازن که مدرک دانشگاهی داشته باشن !
تو داشنگاه هم معمولا asp آموزش میدن
ولی 100 درصد امنیت php بیشتره :)
 

jhoseini

Member
معمولا سایت های بانکی رو میدن دست کسایی بسازن که مدرک دانشگاهی داشته باشن !
تو داشنگاه هم معمولا asp آموزش میدن
ولی 100 درصد امنیت php بیشتره :)

چه توجیه جالبی:lol:
نمیدونم، شاید همینطوره
gigglesmile.gif
 

memeri

Member
ولی فکر نکنم این طور باشه
به هر حال به می دن به یکسری شرکت حالا همه ی اون شرکت ها که فقط asp کار ندارند.
بعد مگه phpکد باز نیست؟
خوب باید باگ هاش زود تر لو بره که؟؟؟
 

memeri

Member
برای داشتن یه سایت امن شما چه کارهایی انجام می دهید
می شه همه رو بگید من هم بدونم
 

memeri

Member
نه منظورم پسورد ها نبود
منظورم این بود که چه هاستی امن هست
مشکلات FTPو بالا بردن امنیت MySql
 

miladmovie

Active Member
چرا موضوع رو قاطی می کنید !
یعنی به خاطر اینکه مثلا یک سایت با Asp.net نوشته شده باشه یا Php می تونید میزان تفاوت امنیتش رو بفهمید !!!!

امنیت برنامه ارتباط مستقیم داره با سواد گروهی که اون سایت رو نوشتند
 

seyyedali_110

New Member
سشن

من این مشکل را از وقتی سایتم رو رو این سرور قرار دادم دارم
مشکل اینه
ما وقتی تو سایت لاگین میکنیم
http://netabad.com/userpanel/?action=Login
سشن ها ثبت میشه و میشه مثلا تو این آدرس دید
http://netabad.com/include/s.php
اما حالا اگه به این آدرس برید دیگه سشن ها وجود ندارند
http://www.netabad.com/include/s.php
البته تو دیتابیس هستند
 

milads

Banned
آره، شاید دلیل طرفداری سایت های بانکی و دولتی ترس از این باشه که برنامه آخرش یه cms کد باز، از آب در بیاد :lol:

دوست عزيز اولا من تاحالا سيستم بانك رايگان تو اينترنت نديدم .
حالا چرا سازمانها مي ترسن از PHP استفاده كنن خوب دليلش كد باز بودن هست . يا مي ترسن سيستم رايگان بهشون بفروشن .
اما Dot Net Nuke هم رايگان هست . اون هم ASP.NET هست .
 

memeri

Member
من این مشکل را از وقتی سایتم رو رو این سرور قرار دادم دارم
مشکل اینه
ما وقتی تو سایت لاگین میکنیم
http://netabad.com/userpanel/?action=Login
سشن ها ثبت میشه و میشه مثلا تو این آدرس دید
http://netabad.com/include/s.php
اما حالا اگه به این آدرس برید دیگه سشن ها وجود ندارند
http://www.netabad.com/include/s.php
البته تو دیتابیس هستند
منم هرز گاهی این مشکل رو با localhost دارم.
 

super_php

Member
تو سر آغاز صفحه دومت هم session_start() هست ؟

در ضمن كد باز بودن PHP ربطي به امنيت نداره مگه قراره سورس صفحاتشون رو بزارن همه ببينند ؟
به نظر من علت اينكه سايت بانك هارو تو ايران با دات نت مينويسند اينه كه كنترل داده ها در حجم عزيم با دات نت راحت تره
 

memeri

Member
دوستان به نظر شما استفاده از Mysql بهتره یا SQL Server
کدوم یکی می تونند حجم بیشتری از اطلاعات رو نگه دارند؟
 

seyyedali_110

New Member
مشکل از توابع نیست چون تو localhost بخوبی کار می کنه اما تو سرور ...
حالا من به مدید هاستینگ چی بگم حرفمو قبول می کنه؟
 

جدیدترین ارسال ها

بالا