2012-11-28 18 views
-2

我正在使用帶有時間限制的在線測驗遊戲,當我詢問問題集時,他們回答了問題,並且在html源代碼中存在「start_time」輸入(可能是使用php的microtime()發送的)。當我提交表單(即 - 問題)時,他們可能會使用提交的start_time並將其與服務器當前的microtime進行比較,然後使用持續時間來確定我的應答速度。如何在使用php microtime()開始時間和提交時間的網站中打敗計時功能?

有什麼辦法可以打敗這個時機嗎?

他們不使用任何cookie,當我用我的id(在文本框中)請求問題時,他們用我的id和start_time嵌入html中發送問題。因此,在提交時可能會調整接近當前時間的start_time,我想呢?但是我怎麼計算服務器的最近current_time呢?任何提示都可以做到,儘管詳細的指導會有很大的幫助。

+2

我們爲什麼要告訴你如何作弊?你應該掩蓋你的問題,如果你想要一個答案,可以幫助你欺騙或破解一些東西。 –

+2

你想用最短的時間打動誰? – asprin

+0

您可以通過徹底瞭解您正在回答問題的主題來打敗它。 :) – Dale

回答

1

可以說你有microtime的價值。 (在源代碼html上搜索) 您將需要運行本地的php和apache。

所以,你可以嘗試:基於服務器的實際日期

list($microSec, $timeStamp) = explode(" ", 'microtime value you geted on code'); 
echo date('F jS, Y, H:i:', $timeStamp) . (date('s', $timeStamp) + $microSec); //here the actual date from server. 

,您可以:

echo microtime('the date you want inject on code'); //date format Y-m-d 

現在你可以使用somekind的 「螢火蟲」 的運行JavaScript/jQuery來改變隱藏的價值。

jQuery('#input_hidden_id').val('here the value you get on php code'); 

請記住,此代碼尚未測試。

編輯:我沒有打算傷害某人或某些代碼或系統完整性,但我總是有樂趣「打破」客戶端的一些安全問題。像「等待更多12938721秒下載」只是「無辜」的事情。如果你使用這個代碼的建議壞你的風險,並且我不建議你這樣做。在做一些愚蠢的事情之前先想想其他的人際關係。

+1

因爲在網上作弊沒有道德觀點,因此獲得格拉獎,恭喜! –

+1

這段代碼可以教會開發人員在客戶端更好地考慮安全問題。不良行爲在行動上。我沒有看到任何不道德的道德打破一些追求完整性;) – Guerra

+0

那麼,如果你有適當的藉口,以確保自己你沒有幫助wannabe腳本kiddie /騙子/任何一種不公平的人造成損害,那麼我想這是在紫色獨角獸的土地上一切都很美好。這是標準做法,可以幫助開發人員設計出「擊敗」在線測驗的方法,因此完全是我指出它的不好之處。我現在要飛過紫色的小馬。 –

相關問題