Can open files using invalid paths
Offen
Dieses Issue hat noch niemand übernommen.
Bug
Category: Filesystem
Category: Streams
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.2k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
Description
The path / /../ /../ /../ /../path/to/file is considered invalid by some file check functions:
<?php
is_file("/ /../ /../ /../ /../path/to/file"); // -> false
realpath("/ /../ /../ /../ /../path/to/file"); // -> false
filesize("/ /../ /../ /../ /../path/to/file"); // -> false
However, the path can actually be used to open /path/to/file :
<?php
echo file_get_contents("/ /../ /../ /../ /../path/to/file");
$res = fopen("/ /../ /../ /../ /../path/to/file", "r");
echo fread($res, 1024);
PHP Version
< 8.3
Operating System
No response
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Den genauen Pfad aus dem Issue reproduzieren und file_get_contents() und fopen() mit is_file(), realpath() und filesize() vergleichen. Da keine Quelldateien oder Tests genannt sind, zunächst die Einstiegspunkte zum Öffnen von PHP-Dateien und zur Pfadvalidierung finden und dann Tests hinzufügen, die zeigen, ob diese APIs den Pfad konsistent behandeln sollten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, php
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100