1-ma’ruza: Yii2 framework. Controller va view Yii nima o`zi?



Yüklə 456,03 Kb.
Pdf görüntüsü
səhifə8/14
tarix11.11.2022
ölçüsü456,03 Kb.
#119325
1   ...   4   5   6   7   8   9   10   11   ...   14
1-maruza Yii2 framework. Controller va view

Ma'lumot uchun: Veb-serverning basic/web ildiz katalogini o'rnatib, siz ruxsat 
berilmagan kirish kodidan va basic/web sahifadagi ma'lumotlardan himoya qilasiz. 
Bu ilovani yanada xavfsiz holga keltiradi.
Ma'lumot uchun: Agar dastur veb-server sozlamalariga kirish imkoni bo'lmagan 
hosting bilan ishlayotgan bo'lsa, siz 
"Birgalikda Hosting ustida ishlash"
 bo'limida 
ko'rsatilganidek, ilovaning tuzilishini o'zgartirishingiz mumkin. 
Ta'vsiya etilgan Apache sozlamalari
Quyidagilarni Apache httpd.conf yoki virtual sozlamalar faylga qo'shing. 
path/to/basic/web to'g'ri manzilga path/to/basic/web almashtirishni unutmang.
# Ildiz kotalogini o`rnatayapmiz "basic/web" 
DocumentRoot "path/to/basic/web" 
 
RewriteEngine on 
#Agar so`ralayotgan fayl yoki katalogiy bor bo`lsa unga to`g`ridan to`g`ri murojat 
qilamiz
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# Agar yo`q bo`lsa index.php ga o`tqazib yuboramiz. 
RewriteRule . index.php 
# ...boshqa sozlamalar... 
 
Tavsiya etilgan Nginx sozlamalari
PHP Nginx uchun 
FPM SAPI
sifatida o'rnatilishi kerak. Quyidagi 
Nginx
 
sozlamalaridan foydalaning va basic/web va mysite.test to'g'ri manzilini hostname-
ga almashtirishni va path/to/basic/web ni almashtirishni unutmang.
server { 
charset utf-8; 
client_max_body_size 128M; 
listen 80; ## listen for ipv4 
#listen [::]:80 default_server ipv6only=on; ## слушаем ipv6 
server_name mysite.test; 
root /path/to/basic/web; 
index index.php; 
access_log /path/to/project/log/access.log; 
error_log /path/to/project/log/error.log; 
location / { 


# Barcha so'rovlarni indeks bo'lmagan katalog va fayllarga yo'naltiramiz. 
Index.php 
try_files $uri $uri/ /index.php?$args; 

# Yii-ni ishlamaslik uchun mavjud bo'lmagan statik fayllarni chaqirish uchun 
quyidagi qatorlarni belgilang 
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { 
# try_files $uri =404; 
#} 
#error_page 404 /404.html; 
location ~ \.php$ { 
include fastcgi.conf; 
fastcgi_pass 127.0.0.1:9000; 
#fastcgi_pass unix:/var/run/php5-fpm.sock; 

location ~ /\.(ht|svn|git) { 
deny all; 


Ushbu konfiguratsiya yordamida php.ini cgi.fix_pathinfo=0 ni stat() tizimiga 
keraksiz tizim chaqiruvlariga yo'l qo'ymaslik uchun o'rnating.
HTTPS-dan foydalanib, fastcgi_param HTTPS on; ni belgilash kerak fastcgi_param 
HTTPS on; Shunday qilib Yii xavfsiz ishlashini aniq belgilashi mumkin.
Odatda, boshqaruvchi ma'lum bir manba turiga oid so'rovlarni bajarish uchun mo'ljallangan. Shu 
sababli, boshqaruvchi identifikatorlari ko'pincha ular ishlayotgan resurslarning turlariga ishora 
qiluvchi otlardir. Masalan, siz foydalanishingiz mumkin
article
maqola ma'lumotlarini 
boshqaradigan kontroller identifikatori sifatida foydalanishingiz mumkin. 
Odatiy bo'lib, kontroller identifikatorlari faqat quyidagi belgilarni o'z ichiga olishi kerak: 
inglizcha harflar kichik harflar, raqamlar, pastki chiziq, defis va oldinga qiyshiq chiziq. Masalan, 
article
va 
post-comment
ikkalasi ham yaroqli kontroller identifikatorlari bo'lsa 
article?

PostComment

admin\post
, emas. 
Tekshiruvchi identifikatori pastki katalog prefiksini ham o'z ichiga olishi mumkin. Masalan, 
boshqaruvchi nomlar maydoni
 ostidagi pastki katalogdagi kontrollerni 
admin/article
anglatadi 
. Pastki katalog prefikslari uchun yaroqli belgilarga quyidagilar kiradi: kichik va katta harflardagi 
inglizcha harflar, raqamlar, pastki chiziq va toʻgʻridan-toʻgʻri chiziqchalar, bunda toʻgʻridan-
toʻgʻri chiziqchalar koʻp darajali kichik kataloglar uchun ajratuvchi sifatida ishlatiladi 
(masalan,
articleadminpanels/admin
). 



Yüklə 456,03 Kb.

Dostları ilə paylaş:
1   ...   4   5   6   7   8   9   10   11   ...   14




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2025
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin