Хуудсыг ачаалж байна. Түр хүлээнэ үү.
loading...
Дурын тэмдэгт гаргаж авах
FFMPEG ашиглан видеоны хугацаа тодорхойлох
Хичнээн зураг байгааг олох
Хавтас жагсаах функц
Зургуудыг салгаж авах
Файлын хэмжээг харуулах
Баазын мэдээллээс зургуудыг салгаж авах
Мэдээллийг хуудаслаж харуулах
FLV файлын хугацааг тодорхойлох
Крилл юникод үгийн уртыг олох
Цонхны төлөв үг болон дэвсгэр өнгө солих
IP --> Long IP
Цаг тооцоолох функц, хэдэн цагийн өмнө вэ?
Array-н утгуудыг эрэмбэлэх
HTML код цэвэрлэх
Юникод үгийг таслах mbm_substr() функц
Энгийн тухайн өдрийн огноо хэвлэдэг функц
FLV тоглуулагч
Хавтсан дахь файлуудыг жагсаах
Regex ашигласан SQL injection - ээс хамгаалдаг функц
Youtube Video-ний мэдээлэл авах
getdate(), date(), mktime() ашиглан календар хийх
FTP_PUT() функц
Үг тасалж авах substr()
cURL, түүнийг ашиглан файл татах
substr_count(), explode() жишээ. Үг ялгаж авах
Хэрэглэгчийг IP хаягаар нь хандах эрхийг нь хаах скрипт
Имэйл илгээх функц
Имэйл шалгах
Хуудаслалт - №2
filter_var функцыг email хаяг шалгахад ашиглах
File inclusion, include(), require(), include_once(), require_once()
htaccess ашиглах
Мэдээлэл оруулах функц
Цагийн зөрүү
SESSION гэж юу вэ? session_start(); session_destroy();

Функцууд

File inclusion, include(), require(), include_once(), require_once()
Эхлэн суралцагчид маань их олон алдаа гаргах нь тодорхой. Тиймээс энэ удаад файл хавсаргахдаа юуг анхаарах талаар өгүүлье.

include_once(); include(), require_once(), require();  функцуудыг ашиглан файл хавсаргах бөгөөд хавсаргах файлаа динамикаар дуудах тохиолдолд гадны нөлөөллөөр довтолгоонд өртөж болно. include_once(), require_once() функцууд нь тухайн файлыг өмнө хавсаргасан байсан бол алгасдаг.

Жишээ нь $_GET['file'] утгаар орж ирж буй утгыг ашиглаад /pages/ хавтсан дахь файл хавсаргадаг байя гэж бодъё.

Тэгвэл код маань include('pages/'.$_GET['file']); гэж байх нь. Гэвч тухайн код маань уг хувьсагчийг ашиглаад бусад ямар файлыг хавсаргах боломж олгож байна.


Уг алдааг хэрхэн засварлах вэ?
Уг алдааг засахдаа ../ буюу өмнөх хавтсыг илэрхийлэх уг тэмдэгтийг эхлээд цэвэрлэж өгнө. Эсвэл өөрөө файл хавсаргах функц бичиж өгч болно. Ингэхдээ вэбийн үндсэн хавтсыг ашиглаарай.

Код:

$webroot_folder = '/home/username/public_html/';

//Файл хавсаргах функц
function mbm_include_file($file=''){
      global $webroot_folder;
     
      $file = mbm_check_filename($file);
      include_once($webroot_folder.'pages/'.$file);
      return true;
}

//файлын замыг засварлах функц
function mbm_check_filename($filepath=''){
      $filepath = str_replace("../","",$filepath);
      if(substr_count($filepath,"../")>0){
            mbm_check_filename($filepath);
      }
     
      return $filepath;
}

Дээрхи функцууд зөвшөөрөлгүй газраас дуудаж буй файлын нэрийг цэвэрлэж хавсаргах замаар зөвхөн $webroot_folder хавтсан доторхи файлууд болон түүн доторхи хавтаснууд дотор байгаа файлуудыг хавсаргах боломжтой болно. Ингэснээр халдагчид системийн ямар нэгэн файлыг харах боломжгүй болно.

Хэрэглэхдээ:

/home/username/public_html/pages/about.php файлыг дуудахдаа

Код:

//index.php файл гэж үзье
mbm_include_file($_GET['file']);

кодыг ашиглана.
Дуудах хаяг: index.php?file=about.php
Үнэлэх
Нэвтрэнэ үү
Үнэлгээ (1)

Сэтгэгдэл үлдээх
Нэр
Сэтгэгдэл
Өмнөх сэтгэгдлүүд »