PDA

View Full Version : $this->db->escape



mohsenshahab
شنبه 17 مرداد 1388, 00:36 صبح
سلام من خیلی جستجو کردم اما به نتیجه ای نرسیدم:عصبانی:
از این تابع چه مواقعی باید استفاده کرد.
مثلا در کد زیر این تابع رو کجا باید بذاریم تا از Injection در امان بمونیم؟

function insert_post($title,$body)
{

$sql="INSERT INTO myblog(title,body) VALUES (?,?)";
$this->db->query($sql,array($title,$body));
}

reza_22
سه شنبه 20 مرداد 1388, 00:13 صبح
شما میتونی این تابع رو در داخل عبارت بکار ببری


$sql="INSERT INTO myblog(title,body) VALUES (" . $this->db->escape($title) . ", " . $this->db->escape($body) . ")";

mohsenshahab
جمعه 23 مرداد 1388, 20:18 عصر
سلام
من در ادامه مطالعاتم!! در مورد ci یه جا خوندم که اگه ما از active recordها استفاده کنیم به صورت خودکار escape میشه آیا این درسته؟

razzaghi.b
یک شنبه 29 شهریور 1388, 17:56 عصر
سلام
چه طوری میتونم تو codeigniter تصویر امنیتی ایجاد کنم.
فکر کنم خودش این امکانو نداره ؟؟

nimatramon
یک شنبه 29 شهریور 1388, 19:40 عصر
سلام
چه طوری میتونم تو codeigniter تصویر امنیتی ایجاد کنم.
فکر کنم خودش این امکانو نداره ؟؟


دوست عزیز اگر در دایرکتوری plugin فایل کپچا را نداری من می زارم برای دانلود

http://barnamenevis.org/forum/attachment.php?attachmentid=37212&stc=1&d=1253460948
(http://barnamenevis.org/forum/attachment.php?attachmentid=37212&stc=1&d=1253460948)

این پلاگین تصویر را می سازه بعد مقدارش را در یک متغییر session ذخیره می کنه و برای چک کردنش می تونی متغیر را بخونی و درستیش را چک کنی.
فقط اینکه وسه استفاده اول باید در controller یک function بنویسی .

razzaghi.b
یک شنبه 19 مهر 1388, 10:28 صبح
سلام دوستان
من یه مشکلی دارم این model من هستش .
وقتی $passwd رو میزارم تو query انگار هیچی اونجا وجود نداره یعنی مثل اینکه دارم '' رو می زارم تو query .

<?php
class M_login extends Model{
function M_login(){
parent :: model();
}
function get($username){
$passwd = $this->encrypt->decode(get_cookie('str'));
$query = $this->db->query('SELECT username,passwd from user where (username='.$this->db->escape($username).' and passwd='.$this->db->escape($passwd).' )');
if($query->num_rows() > 0)
return true;
else
return false;
}
}

?>

hidensoft
پنج شنبه 22 بهمن 1388, 10:03 صبح
<?php
class M_login extends Model{
function M_login(){
parent :: model();
}
function get($username){
$passwd = $this->encrypt->decode(get_cookie('str'));
$query = $this->db->query('SELECT username,passwd from user where (username='.$this->db->escape($username).' and passwd='.$this->db->escape($passwd).' )');
if($query->num_rows() > 0)
return true;
else
return false;
}
}

hidensoft
پنج شنبه 22 بهمن 1388, 10:05 صبح
ابتدا مطمئن بشید که پسورد درون کوکی وجود داره

$echo $this->encrypt->decode(get_cookie('str'));

hidensoft
پنج شنبه 22 بهمن 1388, 10:07 صبح
من در ادامه مطالعاتم!! در مورد ci یه جا خوندم که اگه ما از active recordها استفاده کنیم به صورت خودکار escape میشه آیا این درسته؟

بله درسته.