Professional Documents
Culture Documents
Web2 Lec6.en - Ar
Web2 Lec6.en - Ar
Web2 Lec6.en - Ar
com -
ﺗﻘﻨﻴﺎﺕﺍﻟﻮﻳﺐ 2
ﺍﻟﻨﻤﺎﺫﺝﻭﺍﻟﻌﺎﻟﻤﻴﺔ
ﺍﻟﻤﺘﻐﻴﺮﺍﺕ
ﻟﻴﻚ6
1
ﻣﺤﻤﺪ
ﺍﻟﺨﻄﻮﻁﺍﻟﻌﺮﻳﻀﺔ
• ﺍﻟﻤﺘﻐﻴﺮﺍﺕ ﺍﻟﻌﺎﻟﻤﻴﺔ
2
ﻣﻌﺎﻟﺠﺔﻧﻤﺎﺫﺝ PHP
• ﻹﻧﺸﺎء ﻧﻤﻮﺫﺝ ،ﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻡ ﺍﻟﻌﻨﺼﺮ > <formﻛﻤﺎ ﻳﻠﻲ:
3
ﻣﻌﺎﻟﺠﺔﻧﻤﺎﺫﺝ PHP
• ﺃﺳﻠﻮﺏ ﺍﻟﻨﻤﻮﺫﺝ ﻏﻴﺮ ﺣﺴﺎﺱ ﻟﺤﺎﻟﺔ ﺍﻷﺣﺮﻑ .ﻫﺬﺍ ﻳﻌﻨﻲ
ﺃﻧﻪﻳﻤﻜﻨﻚ ﺍﺳﺘﺨﺪﺍﻡ ﺃﻱ ﻣﻨﺸﻮﺭ ﺃﻭ ﺍﻟﺤﺼﻮﻝ ﻋﻠﻴﻪ .ﺇﺫﺍ ﻟﻢ
ﺗﺤﺪﺩﺳﻤﺔ ﺍﻟﻄﺮﻳﻘﺔ ،ﻓﺴﻴﺴﺘﺨﺪﻡ ﻋﻨﺼﺮ ﺍﻟﻨﻤﻮﺫﺝ ﻃﺮﻳﻘﺔ
getﺑﺸﻜﻞ ﺍﻓﺘﺮﺍﺿﻲ.
4
ﺍﻟﺘﻌﺎﻣﻞﻣﻊ ﺍﻟﻨﻤﻮﺫﺝ
ﻟﺠﻤﻊsuperglobals$_POSTﻭ$_GETPHP • ﺍﺳﺘﺨﺪﺍﻣﺎﺕ
.ﺑﻴﺎﻧﺎﺕﺍﻟﻨﻤﻮﺫﺝ
<>ﺃﺗﺶ ﺗﻲ ﺃﻡ ﺃﻝ
<>ﺍﻟﺠﺴﻢ
name="email"< >br< ><"ﺇﺩﺧﺎﻝ ﻧﻮﻉ = "ﺇﺭﺳﺎﻝ
ﺍﻟﺒﺮﻳﺪ ﺍﻹﻟﻜﺘﺮﻭﻧﻲ: >input type="text"
ﺍﻻﺳﻢ: >input type="text" name="name"<>br<
>form action="welcome.php"method="post"<
<ﺍﻟﻨﻤﻮﺫﺝ/>
<ﺍﻟﺠﺴﻢ/>
>/html<
5
ﺍﻟﺘﻌﺎﻣﻞﻣﻊ ﺍﻟﻨﻤﻮﺫﺝ
-ﺍﻟﺴﺎﺑﻖ:
• ﺍﻷﺳﻠﻮﺏ ﻫﻮ ﺁﺧﺮ
• ﻣﻌﺎﻟﺠﺔ ﺍﻟﻤﻠﻒ ﻣﻮﺿﻊ ﺗﺮﺣﻴﺐphp.
• ﻳﺠﺐ ﺃﻥ ﻳﻜﻮﻥ ﻣﻠﻒ PHPﻛﻤﺎ ﻳﻠﻲ:
ﻟﻠﻤﻌﺎﻟﺠﺔform.php ﺃﺭﺳﻞﺇﻟﻰ
>?php
} (isset)$_POST]'email'[()ﺇﺫﺍ
var_dump)$_POST]'email'[(;
7 {
ﻃﺮﻳﻘﺔHTTP POST
• ﺇﺫﺍ ﻛﺎﻥ ﺍﻟﻨﻤﻮﺫﺝ ﻳﺴﺘﺨﺪﻡ ﺃﺳﻠﻮﺏ ،POSTﻓﺴﻴﻘﻮﻡ
ﻣﺘﺼﻔﺢﺍﻟﻮﻳﺐ ﺑﺘﻀﻤﻴﻦ ﺑﻴﺎﻧﺎﺕ ﺍﻟﻨﻤﻮﺫﺝ ﻓﻲ ﻧﺺ
ﻃﻠﺐ .HTTPﺑﻌﺪ ﺇﺭﺳﺎﻝ ﺍﻟﻨﻤﻮﺫﺝ ،ﻳﻤﻜﻨﻚ ﺍﻟﻮﺻﻮﻝ
ﺇﻟﻰﺑﻴﺎﻧﺎﺕ ﺍﻟﻨﻤﻮﺫﺝ ﻋﺒﺮ ﺍﻟﻤﺼﻔﻮﻓﺔ ﺍﻟﻨﻘﺎﺑﻴﺔ POST_$
ﻓﻲ.PHP
• ﺇﺫﺍ ﻟﻢ ﻳﻜﻦ ﺍﻟﻨﻤﻮﺫﺝ ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﺇﺩﺧﺎﻝ )ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ :ﺍﻟﺒﺮﻳﺪ
ﺍﻹﻟﻜﺘﺮﻭﻧﻲ( ،ﻓﻠﻦ ﻳﺤﺘﻮﻱ POST_$ﻋﻠﻰ ﺃﻱ ﻋﻨﺼﺮ ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﺍﻟﻤﻔﺘﺎﺡ
"."email
– ﻟﻠﺘﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻧﺖ ﺑﻴﺎﻧﺎﺕ ﺍﻟﻨﻤﻮﺫﺝ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﺍﻟﺒﺮﻳﺪ ﺍﻹﻟﻜﺘﺮﻭﻧﻲ،
ﻳﻤﻜﻨﻚﺍﺳﺘﺨﺪﺍﻡﺇﻳﺴﻴﺖ )(
8
ﺑﺮﻳﺪ
• ﻣﻌﻠﻮﻣﺎﺕ ﻃﺮﻳﻘﺔ POSTﻏﻴﺮ ﻣﺮﺉﻴﺔ ﻟﻶﺧﺮﻳﻦ.
10
ﻃﺮﻳﻘﺔﺍﻟﺤﺼﻮﻝ ﻋﻠﻰ HTTP
11
ﻳﺤﺼﻞ
• ﺍﻟﺤﺼﻮﻝ ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎﺕ ﺍﻟﻄﺮﻳﻘﺔ ﻣﺮﺉﻴﺔ ﻟﻠﺠﻤﻴﻊ.
– ﻳﺘﻢ ﻋﺮﺽ ﺟﻤﻴﻊ ﺃﺳﻤﺎء ﺍﻟﻤﺘﻐﻴﺮﺍﺕ ﻭﻗﻴﻤﻬﺎ ﻓﻲ ﻋﻨﻮﺍﻥ URL
13
ﺍﻟﺤﺼﻮﻝﻋﻠﻰ HTTPﺃﻭ ﺍﻟﻨﺸﺮ
14
ﺍﻟﺘﻌﺎﻣﻞﻣﻊ ﺍﻟﻨﻤﻮﺫﺝ
15
ﺍﻟﺘﺤﻘﻖﻣﻦ ﺻﺤﺔ ﺍﻟﻨﻤﻮﺫﺝ
<;>/scriptﺗﻨﺒﻴﻪ)'ﻣﺮﺣﺒﺎ'(<– >script
16
ﺍﻟﺘﺤﻘﻖﻣﻦ ﺻﺤﺔ ﺍﻟﻨﻤﻮﺫﺝ
17
ﺍﻟﺘﺤﻘﻖﻣﻦ ﺻﺤﺔ ﺍﻟﻨﻤﻮﺫﺝ
19
ﺃﺗﺶﺗﻲ ﺃﻡ ﺃﻝ ()Specialchars
20
()Specialchars ﺃﺗﺶﺗﻲ ﺃﻡ ﺃﻝ
• http://www.example.com/test_form.php/
('ﺍﺧﺘﺮﺍﻕ%3C/ script%3E
%22%3E%3Cscript%3Ealert)'
: ﻫﺬﺍ ﺑﻮﺍﺳﻄﺔ ﺍﻟﺨﺎﺩﻡ ﻣﻦ ﺃﺟﻞURL • ﺳﻴﺘﻢ ﺗﻨﻔﻴﺬ ﻋﻨﻮﺍﻥ
• >script<('>ﺗﻨﺒﻴﻪ)'ﺍﺧﺘﺮﺍﻕ/script<
ﺍﻟﻤﺘﻐﻴﺮﺍﺕﺍﻟﻌﺎﻟﻤﻴﺔ
22
ﺍﻟﻤﺘﻐﻴﺮﺍﺕﺍﻟﻌﺎﻟﻤﻴﺔ
.ﻋﺒﺎﺭﺓﻋﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﺍﻟﻤﺘﻐﻴﺮﺍﺕ ﺍﻟﺘﻲ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﻣﺘﻐﻴﺮﺍﺕ
ﺍﻟﻌﻤﻮﻣﻴﺎﺕ• GLOBALS
23
ﺍﻟﻤﺘﻐﻴﺮﺍﺕﺍﻟﻌﺎﻟﻤﻴﺔ
• ﻣﺘﻐﻴﺮﺍﺕ PHPﺍﻟﻔﺎﺉﻘﺔ ﺍﻟﻌﺎﻟﻤﻴﺔ ﻫﻲ:
– $ﺍﻟﻌﺎﻟﻤﻴﺎﺕ
– _$ﺍﻟﺨﺎﺩﻡ
–$_POST
– $_GET
– _$ﻛﻮﻛﻲ
– $_SESSION
24
$ﺍﻟﻌﺎﻟﻤﻴﺎﺕ
.ﺍﻟﻨﺼﻲ PHPﻳﺴُﺘﺨﺪﻡ ﻟﻠﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﻤﺘﻐﻴﺮﺍﺕ ﺍﻟﻌﺎﻣﺔ
ﻣﻦﺃﻱ ﻣﻜﺎﻥ ﻓﻲ ﺑﺮﻧﺎﻣﺞ PHPﻫﻮ ﻣﺘﻐﻴﺮ ﻋﺎﻟﻤﻲ
ﻓﺎﺉﻖ• $GLOBALS
25
>?php
$ﺱ = 75؛
$ﺹ = 25؛
ﺇﺿﺎﻓﺔﻭﻇﻴﻔﺔ )( }
$ﺍﻟﻌﻮﻟﻤﺎﺕ]'ﺽ'[ = $ﺍﻟﻌﻮﻟﻤﺎﺕ]'ﺱ'[ $ +ﺍﻟﻌﻮﻟﻤﺎﺕ]"ﺹ"[؛
{
ﺇﺿﺎﻓﺔ)(؛
ﺻﺪﻯ;z$
?<
ﺍﻟﻤﺨﺮﺟﺎﺕ100:
26
$_SERVER
.ﻋﺒﺎﺭﺓﻋﻦ ﻣﺼﻔﻮﻓﺔ ﺗﺤﺘﻮﻱ ﻋﻠﻰ ﻣﻌﻠﻮﻣﺎﺕ ﻣﺜﻞ ﺍﻟﺮﺅﻭﺱ ﻭﺍﻟﻤﺴﺎﺭﺍﺕ
ﻭﻣﻮﺍﻗﻊﺍﻟﺒﺮﺍﻣﺞ ﺍﻟﻨﺼﻴﺔ • $_SERVER
"– "SERVER_ADDR
• ﻋﻨﻮﺍﻥ IPﺍﻟﺨﺎﺹ ﺑﺎﻟﺨﺎﺩﻡ ﺍﻟﺬﻱ ﻳﺘﻢ ﻣﻦ ﺧﻼﻟﻪ ﺗﻨﻔﻴﺬ ﺍﻟﺒﺮﻧﺎﻣﺞ ﺍﻟﻨﺼﻲ ﺍﻟﺤﺎﻟﻲ.
27
$_SERVER
• 'ﺍﺳﻢ ﺍﻟﺨﺎﺩﻡ'
– ﺍﺳﻢ ﻣﻀﻴﻒ ﺍﻟﺨﺎﺩﻡ ﺍﻟﺬﻱ ﻳﺘﻢ ﺗﻨﻔﻴﺬ ﺍﻟﺒﺮﻧﺎﻣﺞ ﺍﻟﻨﺼﻲ
ﺍﻟﺤﺎﻟﻲﺗﺤﺘﻪ.
"• "SERVER_PROTOCOL
– ﺍﺳﻢ ﻭﻣﺮﺍﺟﻌﺔ ﺑﺮﻭﺗﻮﻛﻮﻝ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﺍﻟﺬﻱ ﺗﻢ ﻃﻠﺐ
ﺍﻟﺼﻔﺤﺔﻣﻦ ﺧﻼﻟﻪ؛ ﻋﻠﻰ ﺳﺒﻴﻞ ﺍﻟﻤﺜﺎﻝ ""HTTP/1.0؛
"• "REQUEST_METHOD
– ﻃﺮﻳﻘﺔ ﺍﻟﻄﻠﺐ ﺍﻟﺘﻲ ﺗﻢ ﺍﺳﺘﺨﺪﺍﻣﻬﺎ ﻟﻠﻮﺻﻮﻝ ﺇﻟﻰ ﺍﻟﺼﻔﺤﺔ؛ ﻋﻠﻰ ﺳﺒﻴﻞ
ﺍﻟﻤﺜﺎﻝ"،ﺍﻟﺤﺼﻮﻝ ﻋﻠﻰ"" ،ﺍﻟﻨﺸﺮ".
28
$_SERVER
"• "HTTP_REFERER
– ﻋﻨﻮﺍﻥ ﺍﻟﺼﻔﺤﺔ )ﺇﻥ ﻭﺟﺪﺕ( ﺍﻟﺘﻲ ﺃﺣﺎﻟﺖ ﻭﻛﻴﻞ
ﺍﻟﻤﺴﺘﺨﺪﻡﺇﻟﻰ ﺍﻟﺼﻔﺤﺔ ﺍﻟﺤﺎﻟﻴﺔ.
"• "SCRIPT_NAME
-ﻳﺤﺘﻮﻱ ﻋﻠﻰ ﻣﺴﺎﺭ ﺍﻟﺒﺮﻧﺎﻣﺞ ﺍﻟﻨﺼﻲ ﺍﻟﺤﺎﻟﻲ.
/manual/en/reserved. ﺍﻟﺨﺎﺩﻡ.ﺍﻟﻤﺘﻐﻴﺮﺍﺕ.php
• https://www.php.net
/php/ php_superglobals.asp
• https://www.w3schools.com
32
ﺃﻱﺃﺳﺉﻠﺔ؟
33