disable_functions phpinfo not disable main but disable sub folde
ปกติแล้วถ้าจะใช้ disable_functions ต้องทำ disable_functions phpinfo
(ใช้ทดสอบจาก phpinfo ดูง่ายดี)
อยากให้ตัดหลักทำงานได้ตามปกติแต่จะแบ่งให้ user ให้ พื้นที่เราทำโฮส(ให้นักศึกษาให้ฟรี)แต่กลับจะดีนักศึกษาเห็นช่องโหว่เรา ก็เลยจะปิดซะแต่ดันปิดไม่ถูกถ้าปิดของเราก็ไปปิดของทั้งหมด เราก็แย่ด้วยเพราะต้องให้ functions หลายตัวทำงาน
ตัวที่ทดสอบก็ตัว phpinfo.php
+หลัก
index.php
register.php
...
//อันหลักๆข้างนอกพวกนี้ต้อง exec ได้
+users //พื้นที่ให้ user ข้างในนี้ห้ามให้สิทธิ โดย disable_functions "shell_exec,exec,virtual,passthru,proc_close,proc_get_status,proc_open,proc_terminate,system"
+user a
+user b
+...
ช่วยคิดกันหน่อยนะครับ ผมปวดหัวแย่ละ
รูปแบบปกติ คือปิดทั้งเว็บ
C:\WINDOWS\php.ini
disable_functions =phpinfo
C:\AppServ\Apache2.2\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>
ServerName sam.com
DocumentRoot "C:/AppServ/www"
RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www|ftp|mail).sam.com
RewriteCond %{HTTP_HOST} ^(.*).sam.com
RewriteRule (.*) /users/%1/ [L]
</VirtualHost>
๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒๒
แต่ มันกินไปทั้วเว็บจะทำไงดี
<VirtualHost *:80>
ServerName sam.com
DocumentRoot "C:/AppServ/www"
php_value enable_functions phpinfo //จะหาวิธี ประมาณเนี้ยก็ไม่มี
</VirtualHost>
<VirtualHost *:80>
ServerName *.sam.com
DocumentRoot "C:/AppServ/www"
RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www|ftp|mail).sam.com
RewriteCond %{HTTP_HOST} ^(.*).sam.com
RewriteRule (.*) /users/%1/ [L]
</VirtualHost>
หรือ
<VirtualHost *:80>
ServerName sam.com
DocumentRoot "C:/AppServ/www"
</VirtualHost>
<VirtualHost *:80>
ServerName *.sam.com
DocumentRoot "C:/AppServ/www"
RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www|ftp|mail).sam.com
RewriteCond %{HTTP_HOST} ^(.*).sam.com
RewriteRule (.*) /users/%1/ [L]
php_admin_value disable_functions phpinfo //วิธีนี้ไม่มีไรเกิดขึ้นเลย
</VirtualHost>
ก็ไม่ได้ซักที
เห็นเว็บ http://www.apachelounge.com/viewtopic.php?p=52
Here is an example part of one of my vhost entry files:
Code: |
<VirtualHost *> ServerName www.domain.com ServerAlias domain.com www.domain2.com www.domain3.com DocumentRoot x:/www/dir1/dir2/ php_admin_value disable_functions "shell_exec,passthru,proc_close,proc_get_status,proc_open,proc_terminate,system" php_admin_value max_execution_time "120" php_admin_value memory_limit "16M" php_admin_value session.use_only_cookies "0" php_admin_value magic_quotes_gpc "Off" php_admin_value session.auto_start "1" php_admin_value session.cookie_lifetime "0" php_admin_value session.cache_expire "320" </VirtualHost> <VirtualHost *> ServerName sub.domain.com DocumentRoot x:/www/sub_domain/ php_admin_value disable_functions "shell_exec,exec,virtual,passthru,proc_close,proc_get_status,proc_open,proc_terminate,system" php_admin_value max_execution_time "30" php_admin_value memory_limit "8M" php_admin_value post_max_size "2M" php_admin_value upload_tmp_dir "x:/www/sub_domain/tmp/" </VirtualHost> <VirtualHost *> ServerName sub2.domain.com DocumentRoot x:/www/sub2_domain/dir/ php_admin_value disable_functions "shell_exec,exec,virtual,passthru,proc_close,proc_get_status,proc_open,proc_terminate,system" php_admin_value max_execution_time "60" php_admin_value memory_limit "2M" php_admin_value post_max_size "1M" </VirtualHost> <VirtualHost *> ServerName www.domain4.com ServerAlias domain4.com *.domain4.com domain4.domain.com DocumentRoot x:/www/domain4/ php_admin_value disable_functions "shell_exec,exec,virtual,passthru,proc_close,proc_get_status,proc_open,proc_terminate,system" php_admin_value open_basedir "x:/www/domain4/" php_admin_value upload_tmp_dir "x:/www/domain4/tmp/" php_admin_value session.use_only_cookies "1" </VirtualHost> |
In my httpd.conf file I have the follwing:
Code: |
###### get vhosts ###### NameVirtualHost * Include conf/domain_list_1.conf Include conf/domain_list_2.conf Include conf/domain_list_3.conf Include conf/domain_list_4.conf ###################### |
= = = = = = = = = = = = = = = = = = = =
For you though, it does NOT matter where the ROOT directory for the server is, when you set up your vhosts. So, try something like this:
Code: |
NameVirtualHost * <VirtualHost *> ServerName www.domain1.com ServerAlias domain1.com *.domain1.com DocumentRoot x:/www/domain1/ </VirtualHost> <VirtualHost *> ServerName www.domain2.com ServerAlias domain2.com *domain2.com DocumentRoot x:/www/domain2/ </VirtualHost> |
ใครเคยใช้บ้าง รายงานตัวด่วน