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.5هزار بازدید
0 امتیاز
2 پاسخ 1.3هزار بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط Saeed Zarinfam (1.1هزار امتیاز)
0 امتیاز
1 پاسخ 602 بازدید
+1 امتیاز
1 پاسخ 1.1هزار بازدید
0 امتیاز
0 پاسخ 1.1هزار بازدید
0 امتیاز
1 پاسخ 475 بازدید
0 امتیاز
0 پاسخ 809 بازدید
0 امتیاز
0 پاسخ 647 بازدید
...