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 پاسخ 469 بازدید
+1 امتیاز
1 پاسخ 945 بازدید
0 امتیاز
0 پاسخ 889 بازدید
0 امتیاز
1 پاسخ 370 بازدید
0 امتیاز
0 پاسخ 727 بازدید
0 امتیاز
0 پاسخ 502 بازدید
...