2018年6月13日 星期三

PHP PDO 使用 LIKE 進行模糊搜尋的正確寫法

一般來說 SQL 裡面,要用模糊搜尋,可使用%來當作萬用字元*,例如

$sql = "select * from user where name like '%$name%' ";

但是PDO為了避免被SQL injection攻擊,會把符號自動轉換前後加上拖曳字元等,讓攻擊失效,可是這會造成 LIKE 的語法,解析錯誤,所以正確的PDO寫法為

$name = '%'.$name.'%';
$sql = "select * from user where name like :NAME";
$d = $this->DB->prepare($sql);
$d->bindParam(":NAME", $name);
$d->execute();
$data = $d->fetchAll();

2018年5月31日 星期四

php curl 發送 request payload 資料

一般來說 在網頁上傳輸資料 通常都是用 form 在丟,所以資料 會放在 form data 這個區塊,
但是我這幾天碰到一個神奇的網站,資料是塞在request payload裡面的,爬了好多文才知道該怎麼正確的丟...


$post_data = 'path=down
month=2018/05/31
cnt=1
itemno=22';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$URL);
curl_setopt($ch, CURLOPT_TIMEOUT, 1); //timeout after 30 seconds
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); // basic auth 認證}
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result=curl_exec ($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);   //get status code
curl_close ($ch);
重點如下

  1. Content-Type 要設為 application/x-www-form-urlencoded 不要被browser的 text/plain 騙了
  2. 超奇琶的變數設定方法,請看上方的$post_data,直接用 path=down這樣設定變數內容,然後如果有多個變數,直接用換行切換,直接用換行切換,直接用換行切換,很重要所以要說三次...

2018年5月21日 星期一

Windows 10 1803版 升級後吃掉所有硬碟空間 解決辦法

家裡的 Win10 前幾天自動升級到1803版,過沒多久跳出磁碟空間不足的提示,我用磁碟清理工具看了一下,發現1709版的恢復記錄佔用了23G,就把恢復記錄刪掉了,清出了23G的空間

結果隔天又跳出了磁碟空間被佔滿的消息,我還以為是中了病毒,用程式掃了一下,發現是Windows\Temp佔用最多空間,就把Windows\Temp給清空了,不過,過沒幾分鐘,Windows\Temp又跑出一堆*.evtx的檔案,打開後發現是Windows的事件管理員產出的記錄檔,但是這個記錄又看不出到底是哪邊出現的錯誤...這個是事件檔會以每分鐘約100MB的速度產出,怪不得硬碟空間一下就滿了

因為沒時間重灌,只好先寫個排程,固定每一小時去刪一次這些佔存檔,後來要用到計算機,打開開始功能表才發現,小算盤名稱變英文了,一些內件的Windows應用也是如此,而且通通打不開...,只要想打開這些程式,evtx檔就會爆增...連打開"開始功能表"也是...

最後解決辦法,當然是重灌拉,不過不得不稱讚一下現在重灌真的變好簡單,設定裡面選"復原",然後選不清除個人資料,大約10分鐘後就搞定了,還會列出哪些程式之前裝過,但是被系統移除的,在自己裝回來即可...

2018年5月11日 星期五

499之亂~武器支援~~~搶中華電信線上文字客服功能

寫了一段code幫忙搶中華電信線上文字客服的功能,只能用在https://123.cht.com.tw/CustomerService/Service?businessServiceId=Mobile

javascript:$('#phoneNumber').val('09xxxxxxxx');$('#submitChat').attr('disabled',false);$('#submitChat').click();

在進入文字客服前,會有認證碼的畫面,並且要填入自己的電話號碼,


  1. 把上面那段code,09xx的部分改為自己的電話號碼
  2. 在chrome書籤列新增網頁,填入上面的code,按下確定,書籤列會出現一個按鈕
  3. 手動輸入認證碼,按下剛剛新增的按鈕,資料直接送出,無視等待人數超過上限
  4. 重複步驟3直到進入等待畫面
這段程式碼的用途在,可以讓你一直送出交談要求,不用手動F5再填入這些資料



2018年4月17日 星期二

小方智慧攝影機跟米家智慧攝影機雲台版使用心得

最近添購了幾台小米的攝影機,作為家中監視器使用,以下是我比較的心得

先說結論:如果沒有轉動鏡頭的需求,買小方就好,小方便宜大碗,錄影佔用容量比較小,適合長時間固定角度錄影

小方:

  • 便宜好用,底部有強力磁鐵,可吸附在許多表面上
  • 錄影一小時約150MB,讚
  • 畫質同米家雲台
  • 比米家雲台廣角
  • 插上行動電源即可使用,移動性大增
  • 夜視功能普普,拿來拍室外晚上不適合
  • 看家助手功能較弱,只能設訂單一時段

米家雲台:

  • 鏡頭可360度轉動(向左右各轉180度,不可同一角度連轉360)
  • 夜視功能較強
  • 看家助手功能較強,可設訂多時段
  • 還是可插上行動電源使用(限有支援2A輸出的行動電源,官網沒說)
  • 不夠廣角(可靠轉動鏡頭彌補)
  • 錄影佔用較大空間(1小時約400MB,內建有動作才錄影功能,可省空間)

2018年4月16日 星期一

中華電信雙NP流程與心得

這幾天合約到期,去查了一下優惠方案,中華對老客戶目前只有699吃到飽且必須搭手機,攜碼轉入的反而有第一年499、第二年599的方案,真是不離不棄,被當北7。
當下決定進行雙NP,據說目前其他家想雙NP會被擋,至少要留一個月,只剩中華不擋,有待自行google確認囉

流程開始

  1. 先去中華進行解約(無合約者可以省略此步驟)
  2. 去台灣大哥大辦理攜碼轉入4G預付卡(專案明稱 NP 4G in 1.8,不用儲值,店員要你儲值的話跟他說沒帶這麼多錢XD)
  3. 等待隔天03:00 台哥大門號開通,今天手機只能接電話,不能打電話&上網(因為沒儲值)
  4. 睡醒馬上去台哥大直營門市繳轉出費用$112(因為是辦預付卡必須要親繳,月租的才會隨帳單收費,限直營門市繳納)
  5. 繳完費用,馬上去中華辦你想要的攜碼方案,等帶隔天03:00開通,雙NP完成囉
心得
  1. 不離不棄,被當北7
  2. NP流程好快,今天辦隔天好,讚!

2018年3月15日 星期四

linux 把使用者加入某個群組

記錄一下

把jikker加入daemon
sudo gpasswd -a jikker daemon
把jikker從daemon移除
sudo gpasswd -d jikker daemon