Hướng dẫn dùng function sh trong PHP

Biến toàn cục (hay superglobals) là biến được PHP định nghĩa sẵn và có thể sử dụng bất kì đâu trong toàn bộ chương trình.

Các biến toàn cục trong PHP:

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

II. Biến $GLOBALS

Biến $GLOBALS là một biến toàn cục chứa tất cả những biến khác được khai báo trong chương trình. Nó cung cấp cho lập trình viên một cách thức truy cập đến tất cả các biến trong chương trình một cách toàn cục.

Ví dụ:

<?php
$x = 10;
function getX() {
echo $x;
}
getX();
?>

Đoạn chương trình trên sẽ báo lỗi vì biến $x không phải là một biến toàn cục. Để gọi biến $x trong hàm getX(), sử dụng biến $GLOBALS như sau:

<?php
$x = 10;
function getX() {
echo $GLOBALS['x'];
}

getX();
?>

Ví dụ thực hiện phép toán

<?php
$x = 10;
$y = 20;
function calculateZ() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}

calculateZ();
echo $z;
?>

Hướng dẫn dùng function sh trong PHP

Hình 49 Kết quả sử dụng $GLOBALS

III. Biến $_SERVER

Biến $_SERVER trong PHP cung cấp những thông tin liên quan đến server, host, đường dẫn, v.v…

<?php 
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>

Hướng dẫn dùng function sh trong PHP

Hình 50 Xem thông tin của biến $_SERVER

IV. Biến $_GET

Biến $_GET dùng để lấy dữ liệu do người dùng nhập được truyền từ form và dữ liệu được truyền trực tiếp thông qua URL.

Điều này dễ gây ra việc các tiến trình quan trọng đang thực hiện nhưng lại bị ngắt bởi function này. Gây ảnh hưởng khá nghiêm trọng, cũng như gây ra các vấn đề liên quan đến bảo mật dữ liệu.

9escapeshellcmdThoát shell metacharactersescapeshellcmd () thoát bất kỳ ký tự nào trong chuỗi có thể được sử dụng để lừa lệnh shell để thực thi các lệnh tùy ý. Hàm này nên được sử dụng để đảm bảo rằng mọi dữ liệu đến từ đầu vào của người dùng đều được thoát trước khi dữ liệu này được chuyển đến các hàm exec () hoặc system () hoặc cho toán tử backtick. Các ký tự sau được bắt đầu bằng dấu gạch chéo ngược: & #; `| *? ~ <> ^ () [] {} $ , X0A và xFF. ‘và “chỉ được thoát nếu chúng không được ghép nối. Trong Windows, tất cả các ký tự này cộng với% và! được thay thế bằng khoảng trắng thay thế.10escapeshellcmdThoát một chuỗi được sử dụng làm đối số shellescapeshellarg () thêm các trích dẫn đơn xung quanh một chuỗi và trích dẫn / thoát khỏi mọi trích dẫn đơn hiện có cho phép bạn chuyển một chuỗi trực tiếp đến hàm shell và để nó được coi là một đối số an toàn duy nhất. Hàm này nên được sử dụng để thoát các đối số riêng lẻ sang các hàm shell đến từ đầu vào của người dùng. Các hàm shell bao gồm exec (), system () và toán tử backtick. Trên Windows, escapeshellarg () thay thế thay thế các dấu phần trăm, dấu chấm than (thay thế biến bị trì hoãn) và dấu ngoặc kép bằng dấu cách và thêm dấu ngoặc kép quanh chuỗi.11dl Tải một phần mở rộng PHP khi chạyTải phần mở rộng PHP được cung cấp bởi thư viện tham số. Sử dụng extension_loaded () để kiểm tra xem một tiện ích mở rộng đã có sẵn hay chưa. Điều này hoạt động trên cả các tiện ích mở rộng tích hợp và các tiện ích được tải động (thông qua php.ini hoặc dl ()).12show_sourceTrả về một tệp có cú pháp PHP được tô sáng. Cú pháp được tô sáng bằng cách sử dụng các thẻ HTML.In ra hoặc trả về một phiên bản được tô sáng bằng cú pháp của mã có trong tên tệp bằng cách sử dụng các màu được xác định trong công cụ tô sáng cú pháp tích hợp cho PHP. Nhiều máy chủ được cấu hình để tự động làm nổi bật các tệp có phần mở rộng phps. Ví dụ: example.phps khi xem sẽ hiển thị cú pháp tô sáng nguồn của tệp13ini_alterHàm này là bí danh của: ini_set ()Đặt giá trị của tùy chọn cấu hình đã cho. Tùy chọn cấu hình sẽ giữ giá trị mới này trong quá trình thực thi tập lệnh và sẽ được khôi phục ở cuối tập lệnh.14virtualThực hiện một yêu cầu phụ của ApacheThực hiện một yêu cầu phụ của Apache15openlogMở một kết nối đến bộ ghi hệ thống cho một chương trìnhMở một kết nối đến bộ ghi hệ thống cho một chương trình16mailGửi mail không cần chứng thựcGửi mail không cần chứng thực17symlinkTạo  symbolic linkTạo  symbolic link

Bảng bên trên liệt kê những hàm PHP đã bị vô hiệu hoá (disable functions). Vậy, những hàm nào và những modules nào của PHP/ Apache được hỗ trợ. Bảng sau đây sẽ liệt kê chi tiết:

STTApache ModulePHP Extention1configlibc-client2config-runtimepear3develphp-bcmath4mod-alt-passengerphp-bz25mod_bwlimitedphp-calendar6mod_cachephp-cli7mod_cgidphp-common8mod_charset_litephp-curl9mod_deflatephp-dba10mod_envphp-devel11mod_evasivephp-enchant12mod_expiresphp-exif13mod_file_cachephp-fileinfo14mod_headersphp-fpm15mod_hostinglimitsphp-ftp16mod_http2php-gd17mod_imagemapphp-gettext18mod_lsapiphp-gmp19mod_macrophp-iconv20mod_mime_magicphp-imap21mod_mpm_eventphp-intl22mod_proxyphp-ioncube23mod_proxy_fcgiphp-litespeed24mod_proxy_httpphp-mbstring25mod_proxy_wstunnelphp-mcrypt26mod_remoteipphp-mysqlnd27mod_reqtimeoutphp-odbc28mod_security2php-pdo29mod_spelingphp-phalcon30mod_sslphp-posix31mod_substitutephp-soap32mod_suexecphp-sockets33mod_unique_idphp-sourceguardian34mod_versionphp-suhosin35mod_vhost_aliasphp-tidy36Toolsphp-xml37php-zendguard38php-zip39runtime

Gửi phản hồi về bài viết này