Web user behavior: Difference between revisions
Jump to navigation
Jump to search
m (→使用者操作/使用者輸入的內容) |
m (→使用者操作/使用者輸入的內容) |
||
Line 18: | Line 18: | ||
** (如果允許輸入多行文字) 包含[[Return symbol | 換行符號]] e.g. {{kbd | key=<nowiki>\r\n</nowiki>}} on {{Win}}, {{kbd | key=<nowiki>\r</nowiki>}} on {{Mac}} & {{kbd | key=<nowiki>\n</nowiki>}} on {{Linux}}<ref>[https://social.msdn.microsoft.com/Forums/zh-TW/47af2197-26b4-4b9e-90e8-bfa9d5cd05b4/what-is-the-deference-between-r-n-and-rn-?forum=csharplanguage What is the deference between What is the deference between \r, \n and \r\n ?!]</ref> | ** (如果允許輸入多行文字) 包含[[Return symbol | 換行符號]] e.g. {{kbd | key=<nowiki>\r\n</nowiki>}} on {{Win}}, {{kbd | key=<nowiki>\r</nowiki>}} on {{Mac}} & {{kbd | key=<nowiki>\n</nowiki>}} on {{Linux}}<ref>[https://social.msdn.microsoft.com/Forums/zh-TW/47af2197-26b4-4b9e-90e8-bfa9d5cd05b4/what-is-the-deference-between-r-n-and-rn-?forum=csharplanguage What is the deference between What is the deference between \r, \n and \r\n ?!]</ref> | ||
** 可能包含 [[Byte order mark| Byte order mark (BOM)]] | ** 可能包含 [[Byte order mark| Byte order mark (BOM)]] | ||
* htmlentities<ref>[https://dev.w3.org/html5/html-author/charref Character Entity Reference Chart]</ref> | |||
* 超出預期的內容長度、內容長度超出預期的版面長度、超出預期的資料數量 | * 超出預期的內容長度、內容長度超出預期的版面長度、超出預期的資料數量 |
Revision as of 23:36, 19 July 2019
網站上可能的使用者操作行為、輸入內容
使用者操作/使用者輸入的內容
使用者輸入內容,包含資料庫內的內容文字。內容可能是
- 空值 ex: 空白、全形空白、NULL、0000-00-00
- PHP: 陣列元素中的空白值,可用 array_filter 函數移除。
- 空格 - 維基百科,自由的百科全書
- 文字字串間夾雜半形空白、 全形空白
- 輸入文字內容的前後有額外的空白。處理方式:
- PHP: 可用 rim 函數處理。陣列元素值則搭配 array_map 函數處理。ex: $trimmed_array = array_map('trim' ,$array);[1]
- jQuery: $.trim('string')
- 包含特殊符號 ex: 單引號 ', 雙引號 ", 反斜線 \, 大於小於符號 > <
- 對策: PHP: htmlentities - Manual echo htmlentities($str, ENT_QUOTES, "UTF-8");
- Export MySQL query to Excel file: 解決 Navicat 「存放裝置空間不足,無法完成此操作」問題訊息 「如果欄位內容是以等號 (=) 、加號 (+)、減號 (-) 或 @ 符號開頭,都會被 (Excel) 視作公式。」而造成錯誤
- (如果允許輸入多行文字) 包含 換行符號 e.g. \r\n on Win , \r on Mac & \n on Linux [2]
- 可能包含 Byte order mark (BOM)
- htmlentities[3]
- 超出預期的內容長度、內容長度超出預期的版面長度、超出預期的資料數量
- 資料數量從少量變成多量時
- 重複的內容 ex: Excel 欄位重複
- (可勾選多個項目的狀況下) 只勾選了單一項目或者沒有勾選項目,就送出(submit)表單資料
- 可能進行 SQL injection
- 可能輸入 javascript 語法,視網站政策是否移除
使用者操作
- 重複點選按鈕 【建議】點選按鈕一後,將按鈕改為 inactive 狀態,避免重複提交表單資訊。
- 在輸入框內,輸入完文字後,按一次或多次的 Enter 鍵 (回車鍵)
- 使用 Tab 鍵,將游標移到下一個輸入框
- 重複修改內容: (1) 建立文件 → 編輯文件 → 儲存文件。 (2) 開啟舊檔文件 → 編輯文件 → 再次儲存文件。
- 編輯檔案到一半,不小心手滑,按到「刪除」。【建議】提供復原上一步驟的功能
- 編輯檔案到一半,不小心手滑,按到「上一頁」。【建議】提示儲存文件,而避免遺失資料。
使用者環境
- 各種瀏覽器 + 擴充套件 ex: AdBlock。相關頁面: User agent
- 各種設備 <== 模擬 Device Mode & Mobile Emulation for Chrome
- 不同網路環境:連線快或慢 <== 模擬 Emulating network connectivity for Chrome
操作順序
- 使用者的操作順序,可能不按照功能設計的順序
- 沒有選取任何項目,就提交(submit)或操作表格
網頁 UI 元件回饋訊息
- 操作錯誤時的回饋訊息,例如輸入錯誤帳號密碼的回饋
- 資料儲存變動的回饋訊息,例如資料順利儲存時顯示「儲存成功」
- 搜尋結果的回饋訊息,例如搜尋結果顯示結果筆數
references
參考資料
further reading
- PHP 5 Filter Functions
- 趙柏強 - 哈哈哈前半段聽過後面沒有... 「測試工程師走進酒吧,點了一杯啤酒、點了 0 杯啤酒、點了 99999999999... 「測試工程師走進酒吧,點了一杯啤酒、點了 0 杯啤酒、點了 99999999999 杯啤酒、點了一隻蜥蜴、點了 -1 杯啤酒、點了 ueicbksjdhd。第一位真正的顧客走進來後,開口就問廁所在哪裡。於是酒吧爆炸燒光,所有人都掛了。」[Last visited: 2018-12-06]
Troubleshooting of ...
- PHP, cUrl, Python, selenium, HTTP status code errors
- Database: SQL syntax debug, MySQL errors, MySQLTuner errors or PostgreSQL errors
- HTML/Javascript: Troubleshooting of javascript, XPath
- Software: Mediawiki, Docker, FTP problems, online conference software
- Test connectivity for the web service, Web Ping, Network problem, Web user behavior, Web scrape troubleshooting
Template