मेरे पास download.php पृष्ठ वाला सिस्टम है। पृष्ठ लेता है और आईडी और डीबी रिकॉर्ड के आधार पर एक फ़ाइल लोड करता है और फिर इसे कार्य करता है। मैंने कुछ उदाहरण देखा है जहां फाइलों को कम समय के स्पैन (20ms) में कई बार अनुरोध किया जाता है। टाइम्स जो मानव इनपुट के लिए बहुत तेज़ हैं। ऐसे कई उदाहरण हैं जहां डाउनलोडर ठीक काम करता है। हालांकि, डाउनलोडर के उपयोग पर नज़र डालने में, मैंने कुछ दिलचस्प व्यवहार देखा।अपाचे/PHP सेवारत फ़ाइल एकाधिक बार
उदाहरण के लिए, आईपी पता xxx.xxx.xxx.xxx (जो जर्मनी में xxxxxx.de के स्वामित्व वाली श्रेणी में से एक है) Google के माध्यम से साइट पर आया था। उन्होंने चारों ओर ब्राउज़ किया और फिर पेज http://site.com/xxxx/press+125.php पर पहुंचे, वहां उन्होंने /download.php?id=/ZZ/n+aH55Y= (एक पीडीएफ) 9:04:23 पूर्वाह्न के लिए एक अनुरोध जारी किया। वह अकेला बड़ा सौदा नहीं है। हालांकि, दिलचस्प बात यह है कि सर्वर उस अनुरोध की सेवा के साथ काफी व्यस्त रहा है। लॉग में अनुरोध पहले 9:09:48 और 9:10:00 के बीच पूरा हो जाता है। ऐसा लगता है कि उस समय उपयोगकर्ता को प्रतीक्षा करने के थक गए होंगे और दस्तावेज़ को दो बार अनुरोध किया था। 09:14:47 और 09:15:00 के बीच एक ही अनुरोध फिर से दिखाई देता है, सिवाय इसके कि यह 9:04:43 पूर्वाह्न से पहले अनुरोध के मुकाबले 20 मिनट बाद है। फिर यह तीसरे बार पॉप अप करता है, एक अनुरोध के साथ 09:05:06 09:19:55 और 09:19:58 के बीच पूरा हो गया!
मुझे उस दस्तावेज़ का संदेह है। लॉग देखकर मैं अन्य उदाहरण देखता हूं जहां सर्वर को उस विशिष्ट फ़ाइल को संभालने के लिए थोड़ी देर लगती है। फ़ाइल /download.php?id=/ZZ/n+aH55Y= (पहले की तरह ही docuemnt) के लिए zzz.zzz.zzz.zzz [उपरोक्त से अलग] से अनुरोधों की इस सूची को देखें:
अनुरोध समय पूर्ण समय 04:32:43 04:33:36 04:32:50 04:33:36 04:32:51 04:33:38 04:33:05 04:33:38 04:33 : 34 04:33:42 04:33:05 04:33:42
तो कुछ निश्चित रूप से चल रहा है। क्या यह सर्वर को डाउनलोड करने के लिए इस विशिष्ट दस्तावेज़ के साथ करना है, download.php पेज का कोड, या अगर हम कुछ सर्वर स्तर अधिभार के सबूत देख रहे हैं क्योंकि यह वास्तविक समय में खेलता है तो मुझे अभी तक यकीन नहीं है।
निष्पक्षता में, त्रुटि के बिना /download.php?id=/ZZ/n+aH55Y= (वही पीडीएफ) डाउनलोड करने वाले अन्य उदाहरण हैं। हालांकि, यह दिलचस्प है कि एकाधिक प्रक्रियाएं केवल एक फ़ाइल के साथ होती हैं, और तब तभी जब इसे पृष्ठ http://site.com/press+125.php के माध्यम से एक्सेस किया जाता है। यदि कोड के अंदर कुछ गड़बड़ी है जो सिस्टम को कई डाउनलोड अनुरोधों को बंद करने का कारण बनती है, तो यह आगे की जांच करता है।
मुझे नहीं पता कि यह प्रेस + 125.php एक खरगोश छेद है, लेकिन अजीब विवेक है।
कोई विचार? मैं पूरी तरह से विचारों से बाहर हूँ। अपाचे अधिकतम हो गया? इस तरह बातें।
///DOWNLOAD.php
$file = new files();
$file->comparison_filter("id", "=", $id); //sql to load
if ($file->load()) {
$file->serve();
}
//FILES
function serve() {
if ($this->is_loaded) {
if (file_exists($this->get_value("filename"))) {
if ($this->get_value("content_type") != "") {
header("Content-Type: " . $this->get_value("content_type"));
}
header("Content-Length: " . filesize($this->get_value("filename")));
if ($this->get_value("flag_image") == 0 || $this->get_value("flag_image") == false) {
header("Cache-Control: private");
header("Content-Disposition: attachment; filename=" . urlencode($this->get_value("original_filename")));
}
set_time_limit(0);
@readfile($this->get_value("filename"));
exit;
}
}
}
क्या आपने यह देखने के लिए डिस्क पर देखा है कि वास्तव में यह पीडीएफ कितना बड़ा है? क्या यह किसी भी अन्य फाइलों की तुलना में काफी बड़ा है? साथ ही, क्या आप एक समर्पित सर्वर या साझा होस्टिंग पर हैं? – Paolo
यह लगभग समान है। यह एक समर्पित बॉक्स है। – easement