Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: Dir Listening via ASP

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188

    Dir Listening via ASP

    Scusate la domanda banale, ma non sono un programmatore asp e tutti gli script che ho scaricato (incluso questo ) mi danno sempre un qualche errore.
    (Nello specifico:
    codice:
    Microsoft VBScript runtime  error '800a004c'
    Path not found
    /directory_corrente_con_path_assoluto/dir_list.asp, line 9
    )


    Io ho bisogno di una banalità: un elenco di file della directory (meglio se cliccabili e magari con dimensioni e date, ma non chiedo tanto.

    E' una super banalità ma proprio per questo alla fine non si trova un programma 'serio'.

    Da notare che NON voglio che sia tutto il sito navigabile e che quindi non consenta, tale output ne' di salire ne' di scendere di livello.
    Di fatto questo mi permetterebbe di non mettere tale file asp che crea l'elenco nelle directory che non voglio siano sfogliabili (peccato perchè ho trovato uno stupendo script che mi funziona ma, appunto, consente la navigazione che io non voglio!).
    NON deve essere neppure permesso l'upload o la modifica o altro... semplicemente l'elenco!

    Scusate la banalità...

  2. #2
    Hai accesso alla config del server?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188
    Originariamente inviato da weppos
    Hai accesso alla config del server?
    No.
    (E' un hosting su aruba, dovrebbe essere un IIS5 su win2000).

    Me lo chiedevi per abilitare il directory listening fornito dal web server stesso?
    Appunto, aruba lo blocca per default e non lo attiva neppure su richiesta, è una loro politica (che oltretutto condivido) di sicurezza verso gli utenti.
    Fra l'altro, se non sbaglio, se attivi il listening poi tutte le directory senza default.htm sono sfogliabili, quindi è pericoloso!

  4. #4
    Con FileSystemObject non è difficile, puoi utilizzare questa funzione:
    codice:
    Function ShowFolderList(folderspec)
       Dim fso, f, f1, fc, s
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set f = fso.GetFolder(folderspec)
       Set fc = f.Files
       For Each f1 in fc
          s = s & f1.name 
          s = s & "
    "
       Next
       ShowFolderList = s
    End Function
    L'uso è semplicissimo: per elencare i files contenuti nella cartella "pippo" residente nella root del server, basta scrivere:
    codice:
    response.write(ShowFolderList(Server.MapPath("/pippo")))
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188
    Grazie per la risposta, se non trovo niente di meglio uso quella ma da quel che ho capito devo creare ad hoc il file per ogni directory cioè specificare nel sorgente cosa listare.
    Ok, se non c'e' niente di meglio mi va anche bene (fra l'altro penso sia lo stesso problema dello script che linkavo sopra di html.it).

    Tuttavia il massimo sarebbe se io avrei uno script dinamico anche in questo senso: dove lo piazzo lo piazzo ed è lui a listarmi i suoi 'fratelli' di directory cioè da solo capisce il path completo.

    Se poi vogliamo fare i difficili sarebbe anche gradito ad esempio che li elencasse in alfabetico o per data (magari sceglibile dall'utente) e che -nell'elenco- non si riporti lui stesso (è un'info ridondante e pure antipcatica se nella dir magari si hanno 1000 file di uno stesso tipo e poi questo asp che spunta).

    In PHP (che conosco) io questo lavoro l'ho fatto in 10 minuti di programmazione e ci ho messo pure una funzione che mi calcola l'MD5 e me lo visualizza in questo listato. Inoltre in un file di testo a parte tengo l'md5 già calcolato per i file non nuovi (altrimenti ad ogni richiesta della pagina si ricalcola l'md5 che è una elaborazione non indifferente, che in file da 10 mega puo' durare qualche minuto!).
    Ok, questo è troppo, ma per dire che mi sembra strano che l'asp non consente in maniera facile, con poche righe, di avere un dir veramente automatico, tu piazzi in ftp questo file in una dir ed ecco la visualizzazione.
    Se poi vuoi tenere la cosa segreta questo file lo chiami eiruweiruweiruweirwui.asp, se vuoi la cosa comune lo chiami default.asp!
    Mi sembra una cosa fin troppo semplice, possibile nessuno l'abbia mai fatto?

  6. #6
    Originariamente inviato da selidori
    Grazie per la risposta, se non trovo niente di meglio uso quella ma da quel che ho capito devo creare ad hoc il file per ogni directory cioè specificare nel sorgente cosa listare.
    ???

    invece di

    response.write(ShowFolderList(Server.MapPath("/pippo")))

    basterebbe

    response.write(ShowFolderList(Server.MapPath(nome_ cartella)))

    e in nome cartella ci metti quel che ti pare...

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188
    Originariamente inviato da optime
    ???
    invece di
    response.write(ShowFolderList(Server.MapPath("/pippo")))
    basterebbe
    response.write(ShowFolderList(Server.MapPath(nome_ cartella)))
    e in nome cartella ci metti quel che ti pare...
    Ok, puo' andare ma ripeto che io volevo una cosa automatica...
    Cioè quel NOME_CARTELLA lo devo sempre scrivere io a mano nel sorgente, uno alla volta, con possibili errori di digitazione o modifiche path futuri, non se lo prende da solo.
    In PHP, ad esempio, c'e' una variabile ($PATH) che -appunto- viene sostituita dal reale percorso di file sistem e sei a posto.

    Spiego con un esempio cosa vorrei.

    Io ad esempio ho questa struttura (sono tutte dir)
    codice:
    -foto
    --2003
    ---gennaio
    ---febbraio
    ---marzo
    ---aprile
    ---giu_lug
    ---dicembre
    ----natale
    -----regali
    ------miei
    -------doppioni *****************
    ----capodanno
    --2004
    ---domeniche
    ---semestre1
    --2005
    ---montagna *****************
    ---mare
    Se uso la soluzione dai voi prospettata, per ogniuna delle cartelle sopra devo farmi un singolo file LISTA_CONTENUTO.ASP che sono tutti quasi uguali e dove cambio solo quella variabile li' per farla andare. Ok, lo posso fare, ma mi sembra un lavoro inutile e dispendioso.
    Non sarebbe meglio fare un generico LISTA_CONTENUTO.ASP che va bene per tutti ed lo script stesso in esecuzione lui si ricava il percorso?
    Nell'esempio *lo stesso identico file* listerebbe a seconda di dove sia il contenuto di

    \foto\2003\dicembre\natale\regali\miei\doppioni

    oppure di

    \foto\2005\montagna

    senza dover fare due file diversi a mano.

    I vantaggi mi sembrano logici, ad esempio si lavora meno, meno errori e se un domani rinomino la directory da DICEMBRE->DIC non devo rifarmi tutti i file sotto...

  8. #8
    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2000
    residenza
    Milano
    Messaggi
    188
    Ehm... grazie comunque delle risposte, ma non ho molta voglia di studiarmi le classi o quel che sono di ASP per una funzioncina cosi'... se non si puo' fare al volo quella cosa di avere la dir corrente nel listato in automatico, me la inserisco io a mano di volta in volta...

  10. #10
    Al di là del fatto che si chiama Directory Listing e non Listening, fai una pagina con il codice sottoindicato, poi in qualsiasi cartella tu metta la pagina, lo script ti indica che file ci sono senza passaggio di parametri o altre cose strane.
    Premetto che, a dire il vero, di tutto quel che hai scritto non è che abbia capito un gran che però magari basta quel che ho capito

    codice:
    <%
    Function ShowFolderList()
       Dim fso, f, f1, fc, s
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set f = fso.GetFolder(Server.MapPath("."))
       Set fc = f.Files
       For Each f1 in fc
          s = s & f1.name & " --> " &f1.DateCreated&" --> "&f1.Size& "Bytes"
          s = s & "
    "
       Next
       ShowFolderList = s
    End Function
    
    %>
    
    <%
    	response.write ShowFolderList()
    %>
    Ah dimenticavo, se non ti interessa la data di creazione poi sostituirla con

    DateLastAccessed o DateLastModified
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.