Re: [問題] click()遇到php帶get參數問題

作者: iceworld (穿過去了)   2014-02-25 10:28:31
※ 引述《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");
})
就大功告成了
提供給大家參考
作者: lyforever (LY)   2014-02-27 21:04:00
不是用mysql real escape 就沒有安全性問題吧 XD
作者: danny8376 (釣到一隻猴子@_@)   2014-02-27 22:43:00
網站網址給一下 版友會教你啥是XSS wwwwww
作者: iceworld (穿過去了)   2014-02-27 22:52:00
初學對安全性議題完全不了解阿!請問把$_GET直接丟給javascript是一件很危險的事情嗎? 我留$_GET主要只是想讓頁面可以被google或存入書籤 請問更安全的作法該是什麼另,網站開發安全有沒有推薦的書或網站可以參考呢?
作者: danny8376 (釣到一隻猴子@_@)   2014-02-27 23:53:00
http://svr.wolfholo.ml/sec_tests/a.php.txt直接拿你上面的CODE來做示範http://ln.wolfholo.ml/XSS140227上面那網址就直接傳了一個很有問題的id參數進去直接在網頁裡載入了一個JS檔案http://svr.wolfholo.ml/sec_tests/a.js今天這JS只是廢話後把網頁轉走如果今天JS做了其他事呢?這邊基本上會建議還是用JS去拿參數JS裡面處理參數 只要你沒eval或是直接輸出到頁面它永遠不會被解析
作者: iceworld (穿過去了)   2014-02-28 00:25:00
大受教!!(拜
作者: mmis1000 (秋月戀楓)   2014-02-28 03:20:00
印象中php可以直接把字串轉成json,就可以避免執行了吧?
作者: danny8376 (釣到一隻猴子@_@)   2014-02-28 08:37:00
#1IpPtxT6 (PHP) <<< 防XSS要注意的事很多的避免PHP直接輸出內崁的JS可以省掉不少事

Links booklink

Contact Us: admin [ a t ] ucptt.com