顯示具有 PHP 標籤的文章。 顯示所有文章
顯示具有 PHP 標籤的文章。 顯示所有文章

2017年1月5日 星期四

Linux基礎安全性設定-功能

Aapche

以下設定,皆是編輯 /etc/httpd/conf/httpd.conf
1.關閉Apache回應資訊功能
ServerTokens ProductOnly
ServerSignature Off
TraceEnable Off
2.設定 Cookie HttpOnly,降低XSS漏洞攻擊。
Header edit Set-Cookie ^(.*)$ $1;HttpOnly; Secure
較舊的版本則改用
Header set Set-Cookie HttpOnly;Secure
3.關閉Apache回應目錄功能
找到網頁放置目錄的標籤,在<Directory "/var/www">與</Directory>包含的區塊內新增
Options None
4.限制特定目錄的存取權限
例:限制phpMyAdmin目錄存取
找到phpmyadmin目錄的標籤(若沒有可自行建立)
在<Directory "/var/www/phpmyadmin">與</Directory>包含的區塊內新增
Order allow,deny
Allow from [來源IP]

PHP

以下設定,皆是編輯 /etc/php.ini
1.關閉開啟遠端檔案與include遠端檔案功能
allow_url_fopen = Off
allow_url_include = Off
2.禁用易造成危害的function
disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
3.隱藏php版本(並無法增加安全性)
expose_php = Off
4.設定正確的時區
date.timezone = "Asia/Taipei"
5.限制腳本可取得的最大記憶體
memory_limit = 32M
6.關閉register_globals
本特性已自 PHP 5.3.0 起廢棄並將自 PHP 5.4.0 起移除。
register_globals = Off
7.關閉magic_quotes
本特性已自 PHP 5.3.0 起廢棄並將自 PHP 5.4.0 起移除。
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
8.關閉display_errors
display_errors = Off
9.使用HttpOnly cookie,降低XSS漏洞攻擊。
session.cookie_httponly = 1

參考連結(外部)

2016年8月10日 星期三

PHP連線MySQL出現「cannot connect to MySQL 4.1+ using the old insecure authentication」

使用php-mysqlnd連線mysql,出現以下錯誤訊息:
Connect failed: mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.

原因判斷:
mysql舊的密碼Hash長度為16,新的密碼Hash長度則為41
php-mysqlnd 5.3以上版本使用的連線密碼格式為MySQL 4.1+,故進行mysql連線會出現不支援舊的密碼Hash格式訊息。

排除方法:
方法一
1.編輯 /etc/my.cnf
2.移除 old_passwords = 1
3.重新啟動 mysql
方法二
執行以下SQL語法
SET old_passwords = 0;
SET PASSWORD FOR 'User'@'Host'=PASSWORD('password');
FLUSH PRIVILEGES;

Ubuntu 使用apt-get -y update更新出現大量Failed to fetch 404 Not Found訊息

Ubuntu 使用apt-get -y update更新出現大量Failed to fetch 404 Not Found訊息,確認DNS可以解析網址也可連到網路,基本可排除網路問題。 原因判斷:Ubuntu版本過舊,其更新包路徑已不在原本sources.list檔案內的更新路徑...