作者roga (任性)
看板PHP
標題Re: [請益] CI-CodeIgniter 搜尋字串傳遞
時間Wed Sep 21 16:36:19 2011
※ 引述《mesak (阿米)》之銘言:
: 剛剛查了一下 窮舉法 就是暴力破解法吧...
: 大概就是 架設搜尋條件有三
: area code = [1,2,3,4,5...]
: active = true / false
: name = key
: A 搜尋了下列條件
: {"area_code":1,"active":true,"name":"keyword"}
: 就記錄到 資料庫 id 1 = 上列 字串
: B 搜尋到一樣的時候 網址就會是
: site.com/index.php/db_1/0
: B如果下新的搜尋條件
: 網址就會是
: site.com/index.php/db_2/0
: ID = 2 的內容就是 新的搜尋條件
: 樂屋網好像把所有的可變條件建立在 第一個 變數內
: 然後 無法取得的可變條件,就是 需要輸入的地方 變成 BASE64的編碼,解碼後讀入
: 這樣感覺也是個辦法...
基本上 base64 編碼對網址來說不是那麼適當,你最好要特別處理過。
你可以看一下這個 comment 就可以了解
http://www.php.net/manual/en/function.base64-encode.php#103849
: 只是 要把所有可變條件 給列出來編碼......
: appleboy 大的作法我有用了
: 只是因為 條件過多的時候,網址會越來越長,希望能縮減一下
和您分享我的看法
我覺得網址這件事情,在不要太誇張的範圍內,真的沒必要太過去計較長短..
如果要短網址,你可以自己實作,或是用現成短網址服務的 API
很多時候,網址就是要那麼長才能表示這些資訊,你硬要編碼或是縮減
最直接可見的缺點就是
1. 對 SEO 不利
- 不用解釋了
2. 對你自己維護也不利
- 你沒辦法直接在網址換參數就改變查詢結果
3. 對使用者也麻煩
- 使用者要搜尋資料,也不能從網址更改,必須經由你設計的 input box
舉個例子來說,你看各個搜尋引擎都是怎麼做的就能了解了
他們要應付海量的查詢,自然做過很多優化,但為什麼不去縮減網址呢?
相信那些傢伙一定也不希望網址那麼長吧!但一定有其他考量,才沒有
去做你想做的"美化網址"的動作,更別提大型網站為了避免 CSRF/XSRF
或是為了 click tracking 而加的東西 (那讓網址更恐怖)
: 看有沒有別種搜尋方式
我覺得在想這一塊之前,系統應該還有很多其他重要的功能可以做。
--
The Internet: where men are men, women are men, and children are FBI agents.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.89.121.16
推 prosai:我用過post+session實作搜尋結果可分頁,不過手續上繁複。 09/21 17:17
→ prosai:or網址設計成?a=1&b=x,在ci裡另外寫functi將key-value抓出 09/21 17:21