作者iceworld (穿過去了)
看板Ajax
標題Re: [問題] click()遇到php帶get參數問題
時間Tue Feb 25 10:28:31 2014
※ 引述《iceworld (穿過去了)》之銘言:
: 小弟發文之後研究了一個晚上
: 爬國外資料發現php丟參數跟click()行為要搞在一起似乎是無解
: 於是我改從參數下手
: 邏輯跟前輩提供的類似
: 不過我是在php從資料庫裡面撈的時候順便把$_GET的變數以id名丟給每個選項
: while($row = mysql_fetch_array(xx)){
: $li_row = sprintf(
: "<li><a href='test.php?id=%s' id='%s'>選項a</a></li>
: ...",
: $row['id'], $row['id'] );
: }
: 之後a選項就有了id=a、b選項有了id=b......依此類推
: html搞定後從jQuery下手:
: 引入能夠取得get參數的jqury.url.min.js檔案(上網查到的)
: 加在<script></script>裡面的jQuery碼只有兩行:
: $(function(){
: var active = $.url.param('id');
: $("#" + active).addClass("active");
: })
: 改成這樣後我原本需要的功能就可以達成了
: 提供這個方法給大家參考,也感謝許多熱心的版友協助提供意見,謝謝!
今天在寫其他的php頁面時突然靈機一動
發現上面的方法根本就是脫褲子放屁
一開始只要在javascript裡面直接把$_GET[]丟給變數去判斷就好了
連什麼引入jquery.url.min.js都不用
$(function(){
var active = <? echo mysql_real_escape_string(trim($_GET['id'])); ?>;
$("#" + active).addClass("active");
})
就大功告成了
提供給大家參考
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.161.29.42
1F:→ lyforever:不是用mysql real escape 就沒有安全性問題吧 XD 02/27 21:04
2F:→ danny8376:網站網址給一下 版友會教你啥是XSS wwwwww 02/27 22:43
3F:→ iceworld:初學對安全性議題完全不了解阿!請問把$_GET直接丟給 02/27 22:52
4F:→ iceworld:javascript是一件很危險的事情嗎? 我留$_GET主要只是想 02/27 22:53
5F:→ iceworld:讓頁面可以被google或存入書籤 請問更安全的作法該是什麼 02/27 22:54
6F:→ iceworld:另,網站開發安全有沒有推薦的書或網站可以參考呢? 02/27 22:55
8F:→ danny8376:直接拿你上面的CODE來做示範 02/27 23:53
10F:→ danny8376:上面那網址就直接傳了一個很有問題的id參數進去 02/27 23:56
11F:→ danny8376:直接在網頁裡載入了一個JS檔案 02/27 23:57
13F:→ danny8376:今天這JS只是廢話後把網頁轉走 02/27 23:58
14F:→ danny8376:如果今天JS做了其他事呢? 02/27 23:58
15F:→ danny8376:這邊基本上會建議還是用JS去拿參數 02/28 00:06
16F:→ danny8376:JS裡面處理參數 只要你沒eval或是直接輸出到頁面 02/28 00:06
17F:→ danny8376:它永遠不會被解析 02/28 00:07
18F:→ iceworld:大受教!!(拜 02/28 00:25
19F:→ mmis1000:印象中php可以直接把字串轉成json,就可以避免執行了吧? 02/28 03:20
21F:→ danny8376:避免PHP直接輸出內崁的JS可以省掉不少事 02/28 08:38