Хуудсыг ачаалж байна. Түр хүлээнэ үү.
loading...
Дурын тэмдэгт гаргаж авах
FFMPEG ашиглан видеоны хугацаа тодорхойлох
Хичнээн зураг байгааг олох
Хавтас жагсаах функц
Зургуудыг салгаж авах
Баазын мэдээллээс зургуудыг салгаж авах
Файлын хэмжээг харуулах
FLV файлын хугацааг тодорхойлох
Мэдээллийг хуудаслаж харуулах
Крилл юникод үгийн уртыг олох
Юникод үгийг таслах mbm_substr() функц
Цонхны төлөв үг болон дэвсгэр өнгө солих
Цаг тооцоолох функц, хэдэн цагийн өмнө вэ?
IP --> Long IP
Array-н утгуудыг эрэмбэлэх
HTML код цэвэрлэх
Хавтсан дахь файлуудыг жагсаах
FLV тоглуулагч
Энгийн тухайн өдрийн огноо хэвлэдэг функц
Regex ашигласан SQL injection - ээс хамгаалдаг функц
Youtube Video-ний мэдээлэл авах
getdate(), date(), mktime() ашиглан календар хийх
Үг тасалж авах substr()
cURL, түүнийг ашиглан файл татах
FTP_PUT() функц
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)

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