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 پاسخ 464 بازدید
+1 امتیاز
1 پاسخ 939 بازدید
0 امتیاز
0 پاسخ 880 بازدید
0 امتیاز
1 پاسخ 368 بازدید
0 امتیاز
0 پاسخ 725 بازدید
0 امتیاز
0 پاسخ 499 بازدید
...