PHP 從 PHP5 開始,在資料庫操作方面新增了 PDO(PHP Data Objects)的 extension,哄騙物件導向的方式與資料庫進行溝通。捨棄以往透過單一函式的方式,而是透過物件導向程式設計的抽象化概念,操作時利用統一的方式,如果需要改換資料庫時,只要在建立物件時給予資料庫的情勢,而不用更動到本來的程式碼
翻譯這也是物件導向程式設計擁有良好靈活性的最佳浮現!
1. GPL:
->queryRow(); $dbh->query('SET NAMES UTF8');
foreach ($dbh->query($query) as $row) {
print_r($row);
var bar
= 'test';}
(1)其起點在於開放程式碼、免費利用和援用、點竄或衍生程式碼的開放與免費利用。
(1)可按照程式的需要點竄授權條目為適當的內容;但在軟體和軟體的所有副本中仍必需包括版權聲明和許可聲明。
set3
: {sudo apt-get update
sudo apt-get install vsftpd -y
sudo vi /etc/vsftpd.conf
# 封閉 ipv6,這個問題卡良久,找很久才發現解決體式格局;不肯定是不是 vsftpd 版本的問題
# https://www.centos.org/forums/viewtopic.php?t=52408
listen=YES
listen_ipv6=NO
# 答應本地用戶登錄
local_enable=YES
# 允許上傳
write_enable=YES
# 讀寫履行權限
local_umask=022
# 答應家目次變為根目次
chroot_local_user=YES
chroot_list_enable=YES
# 答應家目次變為根目錄後擁有寫入權限
chroot_list_file=/etc/vsftpd.chroot_list
allow_writeable_chroot=YES
sudo useradd -m -s /usr/sbin/nologin test
sudo passwd test
# 以後輸入二次暗碼
sudo vi /etc/shells
/usr/sbin/nologin
sudo vi /etc/vsftpd.chroot_list
sudo service vsftpd restart
使用 TSL 連線(SSL)
假如沒有憑證可以自簽
# 產生一個期限為 3650 天的自簽憑證
sudo openssl req -x509 -nodes -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem -days 3650 -newkey rsa:2048
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:California
Locality Name (eg翻譯社 city) []:Los Angeles
Organization Name (eg, company) [Internet Widgits Pty Ltd]:example.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (e.g. server FQDN or YOUR name) []:example
Email Address []:info@example.com
點竄 vsftpd 設定檔
sudo vi /etc/vsftpd.conf
#rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
rsa_cert_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
ssl_ciphers=HIGH
#rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
rsa_cert_file=/etc/letsencrypt/live/example.com/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/example.com/privkey.pem
ssl_enable=YES
ssl_ciphers=HIGH
sudo service vsftpd restart
利用被動模式
有興趣可以詳讀 FTP 主/被動模式
鉦昱翻譯公司自己的理解是:當 Client 端在 NAT 架構下,利用被動模式對照不輕易有問題(如果有錯請再奉告)
修改 vsftpd 設定檔
sudo vi /etc/vsftpd.conf
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
port_enable=YES
pasv_address=[Public IP]
# 使用 domain name 時
#pasv_address=[Domain Name]
#pasv_addr_resolve=YES
sudo service vsftpd restart
var htmlspecialchars = function (string, quote_style) {
} catch (PDOException $e) {
var bar
= {// 利用 execute(),會自動 quote $where 的參數
// 使用 quote 避免 SQL Injection;相當於 mysql_real_escape_string()
$row = Yii::app()->db->createCommand()其他還有很多撰寫 PHP 程式時促進效能的小技巧,請參考 Tsung's Blog 有更詳實的說明。
var re_nlchar = /%0D/g ;
return unescape(string.replace(re_nlchar, '<br />'));
);自由軟體,具有六大特性、四大自由
3. 用
strpos($var翻譯社 'str') !== FALSE 代替
preg_match('/str/', $var, $matches):
color: ['red'翻譯社 'blue']
'type_id = :typeId'
使用預載的方式:(保舉利用)
foreach ($sth->fetchAll(PDO::FETCH_ASSOC) as $row) {
} else if (quote_style != 'ENT_NOQUOTES') {
詳細看了 Wiki 以及網路上一些先輩們的介紹,發現這些分歧的軟體授權體式格局其實還蠻複雜的...就我理解的部份,略微介紹一些經常使用的授權許可證;紛歧定准確,只是簡單記載一下(全部想要回避責任的口吻):
};
},
Kibana
- 一最先會先選擇 Elasticsearch 資料來源,因為沒有迥殊修改設定,直接利用預設的 logstash-* 便可
- 因為時區預設使用瀏覽器設定,所以要先到 Management > Advanced Settings > dateFormat:tz 強迫設定為資料的時區
建立一個 IP COUNT/DATE 的圖表
創設新圖表 Visualize > Create a visualization
選擇長條圖 Basic Charts > Vertical Bar
選擇資料來源 From a New Search, Select Index > logstash-*
Y 軸選擇欄位 clientip 的數目 Y-Axis > Aggregation[Unique Count] > Field[clientip.keyword]
X 軸選擇日期 X-Axis > Aggregation[Date Histogram] > Field[@timestamp] > Interval[Daily]
點選右上角的箭頭 Apply changes
右上角時間規模選擇 This week 就可以看到一周內 IP COUNT/DATE 的長條圖
留言列表