मैं एक सरल PHP में स्क्रिप्ट लिस्टिंग निर्देशिका को लागू कर रहा हूँ में सुरक्षित है।उपयोगकर्ता-निर्धारित पथ पीएचपी
मैं सुनिश्चित करना है कि पारित कर दिया पथ निर्देशिका हैंडल खोलने और echo
परिणाम ing बिना सोचे समझे से पहले सुरक्षित है चाहता हूँ।
$f = $_GET["f"];
if(! $f) {
$f = "/";
}
// make sure $f is safe
$farr = explode("/",$f);
$unsafe = false;
foreach($farr as $farre) {
// protect against directory traversal
if(strpos($farre,"..") != false) {
$unsafe = true;
break;
}
if(end($farr) != $farre) {
// make sure no dots are present (except after the last slash in the file path)
if(strpos($farre,".") != false) {
$unsafe = true;
break;
}
}
}
यकीन है कि एक पथ उपयोगकर्ता द्वारा भेजे गए सुरक्षित है बनाने के लिए यह पर्याप्त है, या कुछ अन्य बातों हमले के खिलाफ की रक्षा करने के लिए मुझे क्या करना चाहिए रहे हैं?
आप अपने वैरिएबल नहीं foreach में बंद() – Greg
: कि खरीदने के लिए हे धन्यवाद ... –