Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

標籤: PHP

CodeIgniter 使用心得分享

Posted on 2012 年 6 月 15 日2021 年 3 月 12 日 By 日落 在〈CodeIgniter 使用心得分享〉中尚無留言

以前寫 PHP 時不知道有 framework 可以用,程式從頭到尾都硬幹,每個輪子都自己打造的下場,不外乎就是時間不夠用、事情常常 delay、bug 買一送二越 de 越多 …..。

得知有 PHP frameworks 時,大為欣喜,只是這麼多套 framework 到底應該先挑哪一套當作起步?就怕挑了一個功能太強太複雜的會讓自己一直碰壁、挑了個太冷門的之後換一套 framework 就接近從頭學起。

經朋友介紹,CodeIgniter 該有的基本功能都有了,且不難上手,適合第一次沒用過 framework 的人當作入門。所以最近幾個網頁功能都用 CodeIgniter 當作練習。

最近 C4Labs 朋友在玩  PHP,所以藉機分享一下最近 CodeIgniter 的使用經驗,以及問題、解決方法。以下是投影片,請多指教。

Introduction to codeigniter

View more PowerPoint from Zero Huang

Ref:
CodeIgniter | 小惡魔 – 電腦技術 – 工作筆記 – AppleBOY
http://blog.wu-boy.com/tag/codeigniter/

ps. 沒事不要裝 ion_auth 啊,會讓人嚴重墮落 XD

Tags:CodeIgniter, PHP

XSS Filter on CodeIgniter

Posted on 2012 年 6 月 13 日2021 年 3 月 12 日 By 日落 在〈XSS Filter on CodeIgniter〉中有 2 則留言

過去防止 XSS 攻擊都是透過 htmlspecialchars() 將「<」、「>」等符號編碼,但若是前端有使用 CKEditor 之類工具,文章中的樣式也會全部被洗掉。

最近用 CodeIgniter Input class 提供的 XSS filter 時,無意間發現 filter 不是將所有特殊符號過濾掉,而是經過 parser 以後才決定哪些標籤和屬性需要刪除。

一般常見用來測試 XSS 的字串:

<script>alert(123)</script>

輸出:

[removed]alert(123)[removed]

若是將 javascript 嵌在屬性當中,CodeIgniter 會將標籤留下、屬性刪除:

<a href="#" onclick="alert(123)">test</a>

輸出:

<a >test</a>
Tags:CodeIgniter, PHP, 資訊安全

PHP Closing Tags

Posted on 2011 年 12 月 23 日2021 年 3 月 12 日 By 日落 在〈PHP Closing Tags〉中尚無留言

一般寫 PHP 會將系統設定、資料庫連結等功能分開放在多個不同的檔案中。

index.php:

<?php
   require('settings.php');

   // something else

   session_start();
?>

settings.php:

<?php
   // some settings
?>
 

以上程式執行以後會噴錯誤訊息:
session_start(): Cannot send session cache limiter - headers already sent
原因是在 index.php 呼叫 session_start() 之前已經輸出資料,不過到底是哪裡有輸出資料?仔細看才會發現 settings.php 在「?>」後方還換了一行,換行是在 PHP closing tag 之外,所以就被當作一般資料送出。

當程式很龐大時,這種 bug 實在會讓人摔鍵盤、丟滑鼠、凹螢幕。

事實上 PHP 程式不加上結尾的「?>」也是可以執行的,直譯器到檔案結尾會自動當作該程式段落結束,所以程式可以改寫成這樣:

index.php

<?php
   require('settings.php');

   // something else

   session_start();
 

settings.php

<?php
   // some settings
 
 
Tags:PHP, 程式設計

轉貼:開元中最好的 web 開發資源

Posted on 2011 年 6 月 11 日2021 年 3 月 12 日 By 日落 在〈轉貼:開元中最好的 web 開發資源〉中尚無留言

CoolShell.cn 網站上整理了不少網頁開發相關資源,包括:

  • 學習 HTML5 編成與設計
  • Server 端工具
  • PHP Framework 與工具
  • 資料庫
  • API 與即時資訊處理 (在線數據)
  • 線上軟體開發與媒體工具
  • 程式資源與版本管理工具
  • JavaScript Framework
  • JavaScript 移動與觸摸相關 framework
  • jQuery 外掛與相關資源
  • HTML5 視訊播放器
  • JavaScript 音訊處理與視覺化工具
  • JavaScript 2D、3D 圖形
  • JavaScript 與 HTML5 API (接口?)
  • 其他 JavaScript 工具
  • Client 端工具
  • CSS3 與字型資料
  • 網站樣板
忘了貼網址 XD

开源中最好的Web开发的资源

http://coolshell.cn/articles/4795.html
Tags:Apache, CSS, HTML, JavaScript, MySQL, PHP, 網路架站

Install Nginx + PHP-FPM on FreeBSD

Posted on 2010 年 9 月 4 日2021 年 3 月 12 日 By 日落 在〈Install Nginx + PHP-FPM on FreeBSD〉中有 1 則留言

因為老舊機器跑 Apache 實在太費力了,不少朋友都推薦 Nginx 來取代 Apache。網路上不少效能測試也顯示 Nginx 使用的系統資源比較少。

Install Nginx from ports:

cd /usr/ports/www/nginx
make config   # select modules you want
make install clean

Install php52 from ports:

 cd /usr/ports/lang/php52
make config   # Enable FPM
make install clean

安裝 PHP-FPM (Fastcgi Process Manager) 後,在 /etc/rc.conf 加入啟動設定並啟動 php-fpm:

echo php_fpm_enable="YES" >> /etc/rc.conf
/usr/local/etc/rc.d/php-fpm start

依照預設值 FPM 會 listen port 9000,可以用 sockstat 看一下是否啟動成功:

$ sockstat
USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS
www      php-cgi    2736  0  tcp4   127.0.0.1:9000        *:*
www      php-cgi    2735  0  tcp4   127.0.0.1:9000        *:*
www      php-cgi    2734  0  tcp4   127.0.0.1:9000        *:*
www      php-cgi    2733  0  tcp4   127.0.0.1:9000        *:*
www      php-cgi    2732  0  tcp4   127.0.0.1:9000        *:*
root     php-cgi    2731  4  stream -> ??
root     php-cgi    2731  5  stream -> ??
root     php-cgi    2731  6  tcp4   127.0.0.1:9000        *:*

若要修改 listen port 可以開啟 /usr/local/etc/php-fpm.conf,搜尋「listen_address」,設定檔是以 XML 的方式撰寫,把 127.0.0.1:9000 改成自己要得即可。

修改 Nginx 設定檔 /usr/local/etc/nginx/nginx.conf,大約在 60 行左右可以看到「pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000」,將該段落的設定檔取消註解。

另外 Nginx 設定檔有個很怪的地方,就是 fastcgi_param 的預設值不是在網頁目錄底下,要將後方的「/scripts」改成「/usr/local/www/nginx-dist」,這樣 Nginx 才會將網頁目錄底下的 PHP 程式交給 FPM 執行。

設定完畢存檔,/usr/local/etc/rc.d/nginx start 啟動 nginx 就可以弄個 phpinfo 來測試了。

Tags:FreeBSD, PHP, 網路架站

文章分頁

上一頁 1 ... 19 20 21 ... 26 下一頁

其他

關於我  (About me)

小額贊助

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.