Walkthrough a dir v1.0
Met dit script kun je gemakklijk door direcotries lopen. Je kunt hierbij gemakkelijk van directory wisselen. Het maakt dus niet uit in welke map het bestand staat. Tevens kun je de bestanden direct bezoeken door simpel op hun links te klikken. Je kunt de source ook highlighten als je wilt weten wat er in het bestand staat. Zo hoef je hem niet persé eerst te downloaden met je ftp programma. Ook kun je, indien mogelijk, de bestanden verwijderen. Er wordt dan eerst om een javascript confirmatie gevraagd: of je wel wilt doorgaan.
Als een bestand schrijfbaar is komt het erachter te staan, ook komt er chmodded achter het bestand te staan als het bestand is gechmod naar 777.
Dit script heb ik gemaakt met informatie van http://php.net
Gesponsorde koppelingen
PHP script bestanden
24 reacties op 'Walkthrough a dir v1.0'
Gesponsorde koppelingen
Persoonlijk zou ik het een beetje overzichtelijker met een switch-statement en functies hebben gedaan maar dat is persoonlijk.
Afgeleid uit je header is het script uit 2k5, maar je html is uit 1988. Tegenwoordig hebben we xhtml met span en div. Tabellen dienen alleen voor data, niet voor layout. font is ook zwaar veroudert, net als de kleurvermeldingen bovenin. En een doctype zou ook wel netjes zijn.
En dan komen we precies bij het punt waarom short tags niet supported zouden zijn. XHTML kan als header een xml-starttag hebben.. En je raad het al, die begint idd met de shorttag ook gebruikt in PHP.
- Hoe loop je door een directory.
- Hoe kijk ik of iets een map of bestand is.
- Hoe verwijder je bestanden en mappen (zit verschil in van functie).
- Kijken of een bestand schrijfbaar is
- een bestand chmodden voor de rechten.
Bijzaak:
- Bewust wording van de highlight functie die bij het exploiteren van groot belang is.
- Werken met de $_GET variabele.
Gelieve alleen commentaar over PHP. De reactie dat mogelijk short tags van PHP niet werken heb ik wat aan. Dat <font> verouderd zou zijn niet. Want het werkt nog steeds. In PHP heb je ook synoniemen.
Maar het is inderdaad op zich een goed voorbeeld over hoe je moet gaan met directories.
* alleen de html is naar mijn mening niet een goed voorbeeld *
Aangezien PHP backward compatible is hoeft niemand bang te zijn dat de oude code nie meer zal werken ;)
Zelf heb ik een script dat bij iemand anders prima werkt en op mijn server (andere host) niet werkt en totaal aangepast moest worden.
Kan ook aan de server instellingen hebben gelegen echter het feit was dat het script het bij mij niet deed.
Verder lijkt me dit een handig script.
Fijn dat je dit met ons wil delen!
Groet, lissy
vanaf PHP 6 zul jij problemen gaan krijgen;) daar gaan ze dingen als $PHP_SELF, GET en POST variabelen direct aanroepen met variabelen etc. eruitslopen. net als bv. magic_quotes_gpc. dus misschien is het een goed idee om je PHP code zo goed mogelijk aan te passen aan de recente versies van PHP.
@Jelmer:
"Tabellen dienen alleen voor data, niet voor layout."
hier maak jij een denkfout: tabellen zijn niet voor data, maar waarvoor een webdesigner ze wil gebruiken. (net als alle andere tags zoals font, hoewel die idd deprecated is)
Daarom wil ik ook even verwijzen naar de HTML 4.01 specs (http://www.w3.org/TR/html401/struct/tables.html):
"Tables should not be used purely as a means to layout document content as this may present problems when rendering to non-visual media."
En daar hebben we de kern van de zaak te pakken. Voor gebruikers van bijvoorbeeld Blindows die een braille-regel of speech synthesizer gebruiken, is het een stuk moeilijker je site te bekijken.
Het is zoals Willem zegt zeer zeker aan te raden "gewoon" divs te gebruiken, maar een "bedoeling" betekent niet een "verplichting". Als je even een nieuw lampje aan je plafond moet hangen, dan kan je toch ook even snel een stoel pakken om op te staan in plaats van een ladder? -Dat mag niet, want een stoel is om op te zitten- ..... ..... .....
Moraal van dit verhaal: het is slim om met divs te werken, dat wordt ook aangeraden en is gebruiksvriendelijker voor bepaalde partijen, maar er is niets mis met tabellen.
[het is trouwens ook aan te raden voor zoekmachines om met divs te werken]
Maar om weer even op het script terug te komen, en compleet af te zeiken (anders kan ik blijkbaar niet, want het is echt een best goed script, we kunnen hier alleen maar zeiken over de minder-belangrijke kanten)
Je gebruikt over enkele quotes, wat ik echt prima vind. Maar dan komen we bij een tag zoals deze:
2
3
echo " - <a href='".$_SERVER['PHP_SELF']."?del=".$_GET['dir'].$file."' onclick='return confirmSubmit()'>DELETE</a>";
?>
Nu stap je plotseling over op dubbele quotes, en gebruik je enkele quotes om de tags aan te geven. Als je nu consistent was geweest, had je dat omgedraait, en dubblele quotes in de HTML gebruikt, en enkele in PHP, wat volgens mij overigens ook de standaard w3c-benadering is.
Hier doe je het andersom:
En dat splash-screen is wel IMO erg overbodig. Iedere keer dat je de pagina benadert moet je dus eerst het splash-screen wegklikken. Als laten we zeggen notepad dat had, zou je je er dan niet helemaal paars aan ergeren dat zodra je het programma opstart er eerst een beeldje geladen wordt dat aangeeft dat Microsoft dit programma heeft gemaakt, en dat je vervolgens op een knopje moet drukken, en dan weer net zo lang moet wachten totdat het daadwerkelijke programma gebruikt kan worden?
* Sorry, ik heb gewoon een hekel aan nutteloze splash-screens *
En dat een php script bij de ene wel problemen geeft, en bij de andere niet ligt aan andere dingen dan dat het niet backward compatible zou zijn (tot nu toe is dat in ieder geval wel het geval). Kijk eens op een pagina met daar staat veel informatie over welke functies er wel en niet aanstaan etc. Daar zal het vast aan liggen. Ik meen dat dit aan je config of ini file van php ligt. Ik kan het verkeerd hebben, ik heb dit niet uitgezocht.
Btw, mensen posten scripts voor andere. Ga niet zeuren over zo een splash screen. Als iemand wilt leren hoe je door dirs kunt wandelen en wat extra opties erin kunt verwerken denk je dan dat ze een f*ck geven om zo een splash screen? Ik heb hier geen applicatie gemaakt die ik op de markt wil brengen dat je het kunt kopen ofzo.... Dan snap ik dat er gelet wordt op gebruiksvriendelijk en lay-out en al die andere poespas.
Ik heb nog niemand van jullie gehoord over het feit dat er een stukje code in zit wat alle bestanden wist in een dir (indien mogelijk), maar dat je dit niet kan doen door ergens op te kikken maar dat je het handmatig in de url moet meegeven. Daar hadden jullie beter commentaar over kunnen geven ipv zeuren over div's en splash screens....
Zo kan je ook pagina.php?dir=./&killall=true meegeven, en dan verwijdert hij ook zichzelf.
Wat ik me nog wel afvraag, en waar ik te lui voor ben om te testen, wat gebeurt er waneer je vreemde tekens in je adresbalk (variabelen) stopt. Kan hij dezen zonder problemen aan? (dit is zowiezo een probleem op php-broncode niveau, met al dat slashes-gebeuren)
Zoals BlcKJcK al noemde heb jij duidelijk nooit begrepen wat het nut van semantiek is.
se·man·tiek (de ~ (v.))
1 leer van de betekenis van de woorden en woordgroepen => betekenisleer
2 [fil.] leer van de interpretatie van formele systemen
(vandale.nl)
Een tabel gebruiken voor layout is semantisch gezien pure verkrachting van zijn functie en betekenis. Dat ze er wel voor gebruikt kunnen worden door (vaak) luie of onwetende programmeurs betekent niet dat het goed is.
(w3.org)
Of je er voor kiest om semantisch correcte code te gebruiken en tabellen te gebruiken waar ze voor bedoeld zijn of niet maakt mij niet uit. Maar ga dan niet beweren dat je HTML even goed is. Syntactisch maakt het niets uit, maar semantisch maak je een teringzooi van je HTML code als je tabellen voor layout gebruikt.
Dit is dus ook zeker niet bedoeld als commentaar op het script van Devoney, want het gaat om de PHP code die daar in staat. Om dan toch niet helemaal offtopic te blijven ziet de PHP code er goed uit behalve de genoemde punten ) gebruiken ipv ) en het niet gebruiken van een switch.
-edit-
@ Sebastiaan
Ah, nog niet gezien :)
Om te reageren heb je een account nodig en je moet ingelogd zijn.
- Details
Door:
Mike de Klerk- 8 jaar geleden
- 678 x bekeken
- Labels
- Geen tags toegevoegd.
- PHP scripts opties
- Overig
- Nieuwste PHP scripts
- PHP script toevoegen


PHP hulp
0 seconden vanaf nu