PHP Html Purifier 編輯器過濾 xss

剛好我用的是CI..
https://github.com/refringe/codeigniter-htmlpurifier
只是這個範例要安裝composer 然後修改autoload位置..確實過濾的蠻強大的…

另外提醒..光靠前端的js抵禦 是沒意義的喔..

把其中的

require_once APPPATH.'third_party/htmlpurifier-4.8.0-standalone/HTMLPurifier.standalone.php';

修正為

require dirname(dirname(__DIR__)) . '/vendor/autoload.php';

測試方法

$dirty_html = <<<TEST
攻擊字串...etc
TEST;
$this->load->helper('htmlpurifier');
$clean_html = html_purify($dirty_html);
var_dump($clean_html);

來源: refringe/codeigniter-htmlpurifier: A Codeigniter helper to purify html input using the HTMLPurifier standalone class.

[轉貼]php – composer (Windows)

官網下載 Composer-Setup.exe
安裝他
打開你的專案資料夾,假設在 C:\test
在裡面建立 comoser.json 檔案,假如我們想要安裝 phpmailer 套件。我們就在 composer.json 寫入 json 格式如

{  
    "require": {  
        "phpmailer/phpmailer": "~5.2.7"  
    }  
}

使用 cmd (命令提示字元),進入你的專案資料夾,例如打上指令 cd C:\test 後,再打上 composer install ,就會開始安裝到你的專案底下。
安裝之後會出現 composer.lock 與 vendor 資料夾。

資料來源:http://jsnwork.kiiuo.com/archives/1941/php-composer-%E5%AE%89%E8%A3%9D%E7%AD%86%E8%A8%98-windows

我個人推薦可以直接用cmd執行 composer命令 缺點就是要一個一個安裝囉XD..

PHP range

PHP 要快速產生 1~10 的 Array 可以用 range(), 使用範例如下:

// 產生數字序列, array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
foreach (range(1, 10) as $n) {
echo $n;
}

// 產生英文字序列, array(‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’);
foreach (range(‘a’, ‘i’) as $n) {
echo $n;
}

// 產生0~100 的數字, 且數字間差距為 10 的數字序列, array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
foreach (range(0, 100, 10) as $n) {
echo $n;
}

[轉貼]網站開發者參考:開源PHP網站源碼

PHP 網頁設計 技巧

大量既PHP開源(開放源代碼/Open Source)應用改變左呢個世界,改變左網際網路,以下我們總結從數據庫到購物、博客等眾多類型既開源PHP軟體,供網站開發者們參考。 閱讀全文〈[轉貼]網站開發者參考:開源PHP網站源碼〉

[轉貼]PHP 擷取即時匯率

執行結果如下圖:


<?

//即時匯率
$from = ‘USD’;  // 美元  HKD:港幣  JPY:日元  GBP:英鎊    
$to = ‘TWD’; // 新台幣  
//匯率擷取的位址
$uri = ‘http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=’. $from . $to .’=X’;  
$getRate = file_get_contents($uri);  
$getRate = explode(‘,’, $getRate);  
echo “今日 1美元=”.$getRate[1].”台幣”;
echo “<br>”;
echo “匯率擷取時間: “.$getRate[2].$getRate[3];
?>

OpenCart cURL mcrypt 找不到的解決方案

在 WINDOWS 的目錄下
找到 php.ini 這個檔
用文字編輯程式(UltraEdit or EmEdit)編輯
找到其中的 extension=php_curl.dll 這一行
去除前面的分號 “;” 
然後儲存,
若仍然無法啟動 cURL 可以按照下面步驟修正。

一、在 ..AppServphp5 下找到 libeay32.dll 及 ssleay32.dll。
二、在 ..AppServphp5ext 下找到 php_curl.dll。
三、將上述三個檔案複製到 %windir%/system32 下。
四、重新啟動伺服器即可。


可是有的電腦 curl 跟 mcrypt 要丟Apachebin 底下才能解開 (記得重啟)

OpenCart 再戰心得

這次有了PHP的底子

SQL底子 CSS底子

.Net(C#,VB)的磨練

幾乎可以挑戰MVC+L的結構 不過嘛 還真的是很複雜呢
尤其在撰寫php時 要跳來跳去 是一個很麻煩的事情

這時後真的會很想問 難道沒有好一點的php的開發工具嗎?
(有點被微軟.net寵壞了)

目前就只能用Notepad++下去修
嘛~ 雖然比起當初都用記事本弄PHP是好很多了說…^^

範例站:
http://98goto.com/btcshop/

[轉貼]PHP: 完美實現ASP.NET MasterPage的方法

[轉貼]PHP: 完美實現ASP.NET MasterPage的方法

ASP.NET中的MasterPage實在是太好用了,而在PHP裏面如果只是用傳統的方法,那麼只能夠把主要版面分段,然後個別使用include()的方式將主要版面湊出來,總覺得說不出來的彆扭。而且如果切割不好,那麼主要版面一旦改版,那麼內容頁就會改到死。使用傳統方法的程式碼大概像這樣:
<body>
<div><?php include('menu.php');?></div>
<div><?php include($page_content);?></div>
<div><?php include('footer.php');?></div>
</body>
如果沒有想過這個問題,也不會去找網路資源,原來早就有人找到方法了。主板頁面就是很一般的頁面,主要用了兩個變數$pagetitle和$pagemaincontent,看名字就知道是頁面標題和主要內容。
<?php
define('app_root',$_SERVER['DOCUMENT_ROOT']);
require_once(app_root."/shared/opendb.inc");
?>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title><?php echo $pagetitle ?></title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link href="./style/globalreset.css" rel="stylesheet" media="screen" type="text/css" />
<link href="./style/layout.css" rel="stylesheet" media="screen" type="text/css" />
</head>
<body>
<div id="page">
<div id="header">
<div id="title">
<h1><a href="./index.php"><img src='./images/logo_full.jpg' height='50' /></a></h1>
</div>
<div id="cart">
<?php //require_once(app_root."/shared/login.inc"); ?>
</div>
</div>
<div id="wrapper">
<div id="sidebar">
<div id="menubox">
<?php //require_once(app_root."/shared/navigation.inc"); ?>
</div>
</div>
<div id="mainbox">
<div id="mainarea">
<?php echo $pagemaincontent; ?>
</div>
</div>
</div>
<div id="footer">
</div>
</div>
</body>
</html>
而內容頁面只要定義$pagetitle就好了,完整頁面的輸出就請看注解的部份。雖然這樣子做可能會小小的造成伺服器的負擔,但是跟維護比較起來,這一點點的負擔是絕對值得的。
<?php
define('app_root',$_SERVER['DOCUMENT_ROOT']);
require_once(app_root."/shared/opendb.inc");
$pagetitle = "頁面標題";
//將整個頁面輸出放到緩衝區
ob_start();
?>
頁面內容,隨便你輸出
<?php
//將緩衝區的內容放到變數裏面,然後清除緩衝區
$pagemaincontent = ob_get_contents();
ob_end_clean();
//套用主板頁面
include(app_root."/shared/master.php");
?>