View Full Version : سوال: mvc من :: بررسی امنیت login
redhat2
سه شنبه 05 شهریور 1392, 14:18 عصر
سلام به دوستان ، من mvc زیر را نوشتم و یک login action هم براش طراحی کردم میخواستم بدونم که امنیت فرم login اون چطوره ( منظور Session و cookie هست که به کار بردم ) لطفا اگه نظری دارین بگین برای بهتر شدنش :
برای نصبش یه پوشه به نام rcms بسازین و محتویات فایل zip را توی اون برزین . بعد یه دیتابیس بسازین به نام rcms و فایل sql را در اون import کنین ،
اینام تنظیمات دیتابیس :
db_local = localhost
db_name = rcms
db_pass = null
db_user = root
ممنون میشم که بگین امنتیش چطوره و برا بهترشدنش باید چیکار کنم .
mtnam1372
سه شنبه 05 شهریور 1392, 14:40 عصر
عزیزم فکر نکنم کسی حوصله نصب داشته باشه کد هاشو بزار
redhat2
سه شنبه 05 شهریور 1392, 19:50 عصر
خوب همه ی کدها را که نمیشه گذاشت ولی خوب این زیریه ماله signin action هست :
<?php
namespace rcms\modules\controllers;
use rcms\libs\BaseController as BaseController;
class UsersController extends BaseController {
public function Signin() {
if ($this->Vars->issetpost("username") && $this->Vars->issetpost("password")) {
if ($this->Model->Signin()) {
$this->Session->start();
$this->Session->regid();
$this->Hash->result = $this->Hash->hash("sha1", $this->Http->useragent() . $this->Http->remoteIp());
$this->Session->set(array("username" => $this->Db->result['username'], "signinkey" => $this->Hash->result));
if ($this->Vars->issetpost("rememberme")) {
$this->Hash->result .= "sep" . substr($this->Hash->uniqid(), 0, 17);
$this->Model->InsertRemekey($this->Hash->result, $this->Db->result['username']);
$this->Cookie->set(array("username" => $this->Db->result['username'], "remekey" => $this->Hash->result, "lastvisit" => time()));
}
$this->Http->redirect("users");
}
}
$this->View->setTemplate("users/signin");
$this->View->setData("title", "ورود");
$this->View->display();
}
public function Index() {
$this->Session->start();
echo "session username : " . $this->Session->get("username") . "<br>";
echo "session signinkey : " . $this->Session->get("signinkey") . "<br>";
echo "cookie username : " . $this->Cookie->get("username") . "<br>";
echo "cookie remekey :" . $this->Cookie->get("remekey");
}
}
?>
2 تا سشن ذخیره میشه و اگه کاربر Remember me کرده باشه 3 تا کوکی ذخیره میشه که کوکی reme تو یه دیتابیس هم ذخیره میشه و ما بعد اون را از دیتابیس می گیریم توی هر درخواست و Explode می کنیم و قسمت اول با مشخصات user agent و ip کاربر مطابقت می دیم . هر 20 دقیقه یکبارم قسمت دوم تغییر میکنه و با قسمت اول Hash میشه طوری که کلا 60 تا کارکتر باشه و توی دیتابیس قرار می گیره . خوب این چیزی که من نوشتن منطقی هست یا نه یا کلا هر نظری برای بهرت شدنش دارین بگین ممنون .
redhat2
سه شنبه 05 شهریور 1392, 21:35 عصر
کسی نیست ، بابا یه کمکی بکنین . d:)
redhat2
چهارشنبه 06 شهریور 1392, 14:43 عصر
یعنی اینقده سخته که بگین این login خوب هست یا نه ، بابا من میخواستم یه آموزش mvc بنویسم ، خیلی ناامید شدم ، هر وقت ما یه سوالی میپرسم ، اصن انگار نه انگار . واقعا چرا ؟
MRmoon
چهارشنبه 06 شهریور 1392, 14:54 عصر
از نظر اس كيو ال اينجكشن مشكلي نداره چون با PDO كار كردي.
كپچا نداره. من همينا به ذهنم رسيد
redhat2
چهارشنبه 06 شهریور 1392, 21:26 عصر
از نظر اس كيو ال اينجكشن مشكلي نداره چون با PDO كار كردي.
كپچا نداره. من همينا به ذهنم رسيد
از نظر Session و کوکی که استفاده کردم چی ؟
rezavb6
سه شنبه 02 مهر 1392, 00:44 صبح
اقا خیلی عالی هست:تشویق::لبخند:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.