0 امتیاز
قبل در برنامه نویسی توسط (54 امتیاز)
ویرایش شده قبل توسط

من داشتم یه فیلم اموزش php میدیدم, نمیدونم چرا اکثر فیلم های اموزشی که میگیرم مثله اینی که گرفتم همه چیزو توضیح نمیدن فقط یکم قسمت ها رو میگن الان ۶ دفعه مجموعه های مختلف اموزش php از سایت های مختلف گرفتم ...

یک راهنمایی در زمینه کد زیر نیاز داشتم که توضیحش بدید در کل اون قسمتایی که برای جلوگیزی از حملات xss , sql injection نوشته شده و جاهایه مهم  مثله قسمت try  و catch را تا جایه ممکن توضیح بدید ...

ممنون

 

<?php

class news {

    private $_dsn = "mysql:host=localhost;dbname=shop";
    private $_username = "root";
    private $_password = "ddwewewe";
    private $_db;

    public function __construct() {
        try {
            $options = array(PDO::ATTR_PERSISTENT => true, PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
            $this->_db = new PDO($this->_dsn, $this->_username, $this->_password, $options);
        } catch (PDOEXception $e) {
            trigger_error('error on opening database' . $e->getMessage());
        }
    }

    public function insert_users($username,$password,$email,$access_id,$active_code) {
        //XSS
        $username=filter_var($username,FILTER_SANITIZE_STRING);
        $password=filter_var($password,FILTER_SANITIZE_STRING);
        $email=filter_var($email,FILTER_SANITIZE_STRING);
        $access_id=filter_var($access_id,FILTER_SANITIZE_STRING);
        $active_code=filter_var($active_code,FILTER_SANITIZE_STRING);
        
        //SQL Injection
        $stmt=$this->_db->prepare("INSERT INTO users(username,password,name,access_id,active_code) VALUES (?,?,?,?,?)");
        $stmt->execute(array($username,$password,$email,$access_id,$actvie_code));
    }

}

سوالات مشابه

0 امتیاز
0 پاسخ 1.3هزار بازدید
0 امتیاز
2 پاسخ 1.2هزار بازدید
سوال شده 8 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
0 امتیاز
1 پاسخ 460 بازدید
+1 امتیاز
1 پاسخ 933 بازدید
0 امتیاز
0 پاسخ 874 بازدید
0 امتیاز
1 پاسخ 362 بازدید
0 امتیاز
0 پاسخ 722 بازدید
0 امتیاز
0 پاسخ 494 بازدید
...