
نحوه بدست آوردن اطلاعات PHP هنگام غیرفعال بودن phpinfo
برخی از سرور ها ممکن است به دلایل امنیتی غیرفعال کردن عملکرد PHP phpinfo () را بخاطر اینکه اطلاعاتی را نشان می دهد که می تواند برای به خطر انداختن سروری که سایت شما در حال کار است نشان می دهد. در مواردی که phpinfo () غیرفعال است ، مشکلات اشکال زدایی در دروپال (و به طور کلی PHP) بسیار مشکل تر است اما سرور نیز ایمن تر است. در ادامه به چند دستور PHP می پردازیم.
در ادامه با ما در شتابان هاست همراه باشید.
هنگامی که شما سعی می کنید عملکرد را اجرا کنید ، در پرونده error_log یک اخطار PHP دریافت خواهید کرد:
[۰۴-Apr-2018 17:23:48 UTC] PHP Warning: phpinfo() has been disabled for security reasons in /home/test/public_html/test2.php on line 2
محتوای فایل test2.php:
<?php echo phpinfo(); ?>
بنابراین برای دریافت برخی از مقادیر PHP برای گزینه هایی مانند post_max_size ، max_exrection_time ، Memory_limit ، post_max_size ، upload_max_filesize و غیره چه کاری می توانید انجام دهید؟
می توانید از دو عملکرد دیگر دستور PHP استفاده کنید – ini_get_all و ini_get. اولین گزینه تمام گزینه های پیکربندی ثبت شده PHP را لیست می کند. با استفاده از:
<?php foreach (ini_get_all(null, false) as $option => $value) echo "$option=$value"."<br/>"; ?>
نتیجه این خواهد بود:
allow_url_fopen=1 allow_url_include= arg_separator.input=& arg_separator.output=& assert.active=1 assert.bail=0 assert.callback= assert.exception=0 assert.quiet_eval=0 assert.warning=1 auto_append_file= auto_detect_line_endings=0 auto_globals_jit=1 auto_prepend_file= bcmath.scale=0 browscap= cgi.check_shebang_line=1 cgi.discard_path=0 cgi.fix_pathinfo=1 cgi.force_redirect=1 cgi.nph=0 cgi.redirect_status_env= cgi.rfc2616_headers=0 cli.pager= cli.prompt=\b \> curl.cainfo= date.default_latitude=31.7667 date.default_longitude=35.2333 date.sunrise_zenith=90.583333 date.sunset_zenith=90.583333 date.timezone=UTC default_charset=UTF-8 default_mimetype=text/html default_socket_timeout=60 disable_classes= disable_functions=system,phpinfo,shell_exec display_errors= display_startup_errors= doc_root= docref_ext= docref_root= enable_dl= enable_post_data_reading=1 error_append_string= error_log=error_log error_prepend_string= error_reporting=32759 exit_on_timeout=0 expose_php= extension_dir=/opt/cpanel/ea-php70/root/usr/lib64/php/modules fastcgi.logging=1 file_uploads=1 filter.default=unsafe_raw filter.default_flags= from= gd.jpeg_ignore_warning=0 highlight.comment=#FF8000 highlight.default=#0000BB highlight.html=#000000 highlight.keyword=#007700 highlight.string=#DD0000 html_errors=1 ic24.api.log_msg_errors=0 ic24.api.max_timeout=7 ic24.api_access_key= ic24.api_check_ip=1 ic24.cache_path= ic24.dump_cache=0 ic24.enable=0 ic24.home_dir= ic24.phperr.enable=auto ic24.phperr.ignore=0 ic24.sec.approve_included_files= ic24.sec.block_stdin=1 ic24.sec.block_uploaded_files=1 ic24.sec.enable=auto ic24.sec.exclusion_key= ic24.sec.stop_on_error=1 ic24.sec.trusted_include_paths= ic24.slt=7 ic24.update_domains_retry_interval=30 iconv.input_encoding= iconv.internal_encoding= iconv.output_encoding= ignore_repeated_errors= ignore_repeated_source= ignore_user_abort=0 implicit_flush= include_path=.:/opt/cpanel/ea-php70/root/usr/share/pear input_encoding= internal_encoding= ioncube.loader.encoded_paths= log_errors=1 log_errors_max_len=1024 mail.add_x_header=1 mail.force_extra_parameters= mail.log= max_execution_time=600 max_file_uploads=20 max_input_nesting_level=64 max_input_time=60 max_input_vars=1000 mbstring.detect_order= mbstring.encoding_translation=0 mbstring.func_overload=0 mbstring.http_input= mbstring.http_output= mbstring.http_output_conv_mimetypes=^(text/|application/xhtml\+xml) mbstring.internal_encoding= mbstring.language=neutral mbstring.strict_detection=0 mbstring.substitute_character= mcrypt.algorithms_dir= mcrypt.modes_dir= memory_limit=512M mysqli.allow_local_infile=1 mysqli.allow_persistent=1 mysqli.default_host= mysqli.default_port=3306 mysqli.default_pw= mysqli.default_socket=/var/lib/mysql/mysql.sock mysqli.default_user= mysqli.max_links=-1 mysqli.max_persistent=-1 mysqli.reconnect=0 mysqli.rollback_on_cached_plink=0 mysqlnd.collect_memory_statistics= mysqlnd.collect_statistics=1 mysqlnd.debug= mysqlnd.fetch_data_copy=0 mysqlnd.log_mask=0 mysqlnd.mempool_default_size=16000 mysqlnd.net_cmd_buffer_size=4096 mysqlnd.net_read_buffer_size=32768 mysqlnd.net_read_timeout=31536000 mysqlnd.sha256_server_public_key= mysqlnd.trace_alloc= open_basedir= openssl.cafile= openssl.capath= output_buffering=0 output_encoding= output_handler= pcre.backtrack_limit=1000000 pcre.jit=1 pcre.recursion_limit=100000 pdo_mysql.default_socket=/var/lib/mysql/mysql.sock phar.cache_list= phar.readonly=1 phar.require_hash=1 phpd=1 phpd.t=1 post_max_size=32M precision=14 realpath_cache_size=4096K realpath_cache_ttl=120 register_argc_argv=1 report_memleaks=1 report_zend_debug=1 request_order=GP sendmail_from= sendmail_path=/usr/sbin/sendmail -t -i serialize_precision=100 session.auto_start= session.cache_expire=180 session.cache_limiter=nocache session.cookie_domain= session.cookie_httponly= session.cookie_lifetime=0 session.cookie_path=/ session.cookie_secure= session.entropy_file=/dev/urandom session.entropy_length=32 session.gc_divisor=0 session.gc_maxlifetime=1440 session.gc_probability=0 session.hash_bits_per_character=5 session.hash_function=0 session.lazy_write=1 session.name=PHPSESSID session.referer_check= session.save_handler=files session.save_path=/var/cpanel/php/sessions/ea-php70 session.serialize_handler=php session.upload_progress.cleanup=1 session.upload_progress.enabled=1 session.upload_progress.freq=1% session.upload_progress.min_freq=1 session.upload_progress.name=PHP_SESSION_UPLOAD_PROGRESS session.upload_progress.prefix=upload_progress_ session.use_cookies=1 session.use_only_cookies=1 session.use_strict_mode= session.use_trans_sid= short_open_tag=1 SMTP=localhost smtp_port=25 soap.wsdl_cache=1 soap.wsdl_cache_dir=/tmp soap.wsdl_cache_enabled=1 soap.wsdl_cache_limit=5 soap.wsdl_cache_ttl=86400 sql.safe_mode= sqlite3.extension_dir= sys_temp_dir= track_errors= unserialize_callback_func= upload_max_filesize=32M upload_tmp_dir= url_rewriter.tags=a=href,area=href,frame=src,input=src,form=fakeentry user_agent= user_dir= user_ini.cache_ttl=300 user_ini.filename=.user.ini variables_order=GPCS xmlrpc_error_number=0 xmlrpc_errors=0 zend.assertions=-1 zend.detect_unicode=1 zend.enable_gc=1 zend.multibyte=0 zend.script_encoding= zlib.output_compression=0 zlib.output_compression_level=-1 zlib.output_handler=
با ini_get فقط مقادیر گزینه های خاص دستور PHP دریافت خواهید کرد. مثلا:
<?php echo ini_get('max_execution_time')."<br/>"; echo ini_get('memory_limit')."<br/>"; echo ini_get('upload_max_filesize')."<br/>"; //etc ?>
امیدوارم از این مقاله بهره لازم را برده و برای شما مفید بوده باشد.
ما را در شتابان هاست دنبال کنید.
برچسب ها: PHP
ارسال دیدگاه جدید