Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    elimina file dal server

    ciao a tutti,ho fatto questo codice per eliminare un file che è stato uploadato sul server.in sintesi,devo fare un controllo sull'estensione del file che viene uploadato:se non è quella che sta bene a me,il file deve essere cancellato...
    penso che sia giusto,ma aspetto a provarlo perchè devo essere sicuro che funzioni,sennò mi diventa un casino dopo andare a recuperareil file che userò per la prova e cancellarlo.
    qualcuno può darci un'occhiata e dirmi cosa ne pensa?

    codice:
    <%
    nomefile = Request.Form ("file1")
    estensione = right(nomefile,4)
    
    if estensione <> ".zip" then
    
       Dim FSO
       Set FSO = CreateObject("Scripting.FileSystemObject")
       FSO.DeleteFile("percorso") 
       Set objFSO = Nothing
    
    end if
    
    Response.Redirect("list-file-not.asp")
    %>
    innanzitutto,volevo fare una domandarobabilmente, "nomefile = Request.Form ("file1")" è un'istruzione sbagliata.la domanda è:è possibile fare una request su un campo file?e soprattutto,lo si fa con una Request.Form o con qualche altra proprietà di Request?
    grazie

  2. #2
    Utente di HTML.it L'avatar di Cream
    Registrato dal
    Feb 2002
    Messaggi
    534
    scusa ma non ti conviene fare un controllo prima che il file venga uploadato?? altrimenti rischi che uno metta file pericolosi sul server

  3. #3
    eh,ci ho pensato anch'io,ma...chi deve uploadare i file è un cliente,e la pagina dove vengono uploadati è ben nascosta...e non c'è motivo,inoltre,di pensare che qualcuno si voglia inserire in una pagina simile.
    fa parte di un'area riservata a cui può accedere solo un utente alla volta e ovviamente se si è prima loggato,quindi...vado abbastanza sul sicuro,così..inoltre,se il file incriminato venisse anche uploadato basta che non venga eseguito e il problema non si pone.
    piuttosto,il codice com'era?hai visto qualche errore o hai motivo di pensare che non funzioni?

  4. #4
    ehmmm..c'è qualcuno?

  5. #5
    Utente di HTML.it L'avatar di Cream
    Registrato dal
    Feb 2002
    Messaggi
    534
    credo sia meglio fare come dico io cioè evitare di fare upload inutili per poi cancellare il file ... fai più operazioni sul server che poi risultano inutili e ci sono maggiori rischi...

    pero' se credi che la tua logica vada bene, lo script può andare

    estensione="zip"

    if Right (files,3) <> estensione then
    Dim FSO
    Set FSO = CreateObject("Scripting.FileSystemObject")
    FSO.DeleteFile("percorso")
    Set objFSO = Nothing
    end if

  6. #6
    Utente di HTML.it L'avatar di Cream
    Registrato dal
    Feb 2002
    Messaggi
    534
    se posti l'upload magari lo modifichiamo come dico io

    scusa ma sono pignolo

  7. #7
    questa è la pagina di upload...grazie,sei molto gentile...

    codice:
    <%
    Response.Buffer = true
    
    'percorso = "zip/"
    percorso = "../../../../db/"
    
    ByteRicevuti = Request.TotalBytes
    variabile = 0
    if ByteRicevuti > 0 then
    	DatiRicevuti = Request.BinaryRead(ByteRicevuti)
    	For i = 1 To lenB(DatiRicevuti) 'lunghezza DatiRicevuti in binario
    		FileBinario = FileBinario & chr(ascB(midB(DatiRicevuti,i,1)))
    	Next
    	FirmaFile = left(FileBinario,instr(FileBinario,"" & vbCrLf)-1)
    	ArrPezzi = split(FileBinario,FirmaFile)
    
    	for item = 1 to ubound(ArrPezzi)-1
    		Inizio = instr(ArrPezzi(item),"" & vbCrLf & "" & vbCrLf)
    		Intestazione = left(ArrPezzi(item),Inizio-1)
    		Inizio = Inizio + len("" & vbCrLf) + len("" & vbCrLf)
    	    	ContenutoFile = mid(ArrPezzi(item),Inizio,len(ArrPezzi(item))-Inizio-1)
    
    		' Recupero i campi se sono compilati
    		'if instr(Intestazione,"testo1") > 0 then
    			'testo1 = ContenutoFile
    		'end if
    	
    
    		' Qui recupero il file da uploadare (se presente) e lo scrivo
    		' sul server
    		if instr(Intestazione,"file1") > 0 then
    		    i = instr(Intestazione,"filename=")
    			j = instr(i + 10,Intestazione,chr(34))
    			NomeUpload = mid(Intestazione,i + 10,j-i-10)
    			i = instrRev(NomeUpload,"\")
    			if i<>0 then
        		    NomeFile = mid(NomeUpload,i + 1)
        		else
        			NomeFile = NomeUpload
        		end if
          		if i<>0 then
    				Set FSO = CreateObject("Scripting.FileSystemObject")
    				Upload1 = True
    				DimensioneFile1 = len(ContenutoFile)
                   'pippo = DimensioneFile1*0.001 
                   'If pippo >200000 Then
                   'Paginadidestinazione= "log.asp?post5&size="&pippo
                   'else
    			    EstensioneFile1 = right(ContenutoFile,3)
    			    NomeFile1 = NomeFile
                    
                    response.write(percorso&NomeFile1)
        			Set textStream = FSO.CreateTextFile(server.mappath(percorso&NomeFile1), True, False)
        			textStream.Write ContenutoFile
    			    'textStream.Write NomeFile1
        			textStream.Close
        			Set textStream = Nothing
    	   			Set FSO = Nothing
    	   			
    	   	    end if
    		end if
    
       next
    end if
    	
    
    Response.Redirect ("controllo.asp")
    %>

  8. #8
    Utente di HTML.it L'avatar di Cream
    Registrato dal
    Feb 2002
    Messaggi
    534
    codice:
     
    Response.Buffer = true
    
    'percorso = "zip/"
    percorso = "../../../../db/"
    estensione="zip" 
    
    if Right (file1,3) = estensione then 
    
    ByteRicevuti = Request.TotalBytes
    variabile = 0
    if ByteRicevuti > 0 then
    	DatiRicevuti = Request.BinaryRead(ByteRicevuti)
    	For i = 1 To lenB(DatiRicevuti) 'lunghezza DatiRicevuti in binario
    		FileBinario = FileBinario & chr(ascB(midB(DatiRicevuti,i,1)))
    	Next
    	FirmaFile = left(FileBinario,instr(FileBinario,"" & vbCrLf)-1)
    	ArrPezzi = split(FileBinario,FirmaFile)
    
    	for item = 1 to ubound(ArrPezzi)-1
    		Inizio = instr(ArrPezzi(item),"" & vbCrLf & "" & vbCrLf)
    		Intestazione = left(ArrPezzi(item),Inizio-1)
    		Inizio = Inizio + len("" & vbCrLf) + len("" & vbCrLf)
    	    	ContenutoFile =  mid(ArrPezzi(item),Inizio,len(ArrPezzi(i
    tem))-Inizio-1)
    
    		' Recupero i campi se sono compilati
    		'if instr(Intestazione,"testo1") > 0 then
    			'testo1 = ContenutoFile
    		'end if
    	
    
    		' Qui recupero il file da uploadare (se presente) e lo scrivo
    		' sul server
    		if instr(Intestazione,"file1") > 0 then
    		    i = instr(Intestazione,"filename=")
    			j = instr(i + 10,Intestazione,chr(34))
    			NomeUpload = mid(Intestazione,i + 10,j-i-10)
    			i = instrRev(NomeUpload,"\")
    			if i<>0 then
        		    NomeFile = mid(NomeUpload,i + 1)
        		else
        			NomeFile = NomeUpload
        		end if
          		if i<>0 then
    				Set FSO = CreateObject("Scripting.FileSystemObject")
    				Upload1 = True
    				DimensioneFile1 = len(ContenutoFile)
                   'pippo = DimensioneFile1*0.001 
                   'If pippo >200000 Then
                   'Paginadidestinazione= "log.asp?post5&size="&pippo
                   'else
    			    EstensioneFile1 = right(ContenutoFile,3)
    			    NomeFile1 = NomeFile
                    
                    response.write(percorso&NomeFile1)
        			Set textStream = FSO.CreateTextFile(server.mappath(percorso&NomeFile1), True, False)
        			textStream.Write ContenutoFile
    			    'textStream.Write NomeFile1
        			textStream.Close
        			Set textStream = Nothing
    	   			Set FSO = Nothing
    	   			
    	   	    end if
    		end if
    
       next
    end if
    
    else
    response.write("Il file Inserito non &egrave; di un formato valido
    ")
    response.write("Riprovare con un file .zip")
    end if
    prova

  9. #9
    no,non funziona...se carico uno zip mi rimanda alla pagina "fallito.asp" che io ho messo come redirect se la condizione if va in else,se carico un file qualsiasi lo uploada.
    ho provato a mettere un if not Right etc ma così non ha senso...

  10. #10
    Utente di HTML.it L'avatar di Cream
    Registrato dal
    Feb 2002
    Messaggi
    534
    strano...

    se fai così??

    Response.Buffer = true

    'percorso = "zip/"
    percorso = "../../../../db/"
    estensione="zip"
    if Right (file1,3) = estensione then
    response.write("esegui upload")
    else
    response.write("non eseguire upload")
    end if

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.