Skrypt ograniczający upload do plików pdf i doc

0

Mam skrypt, który wywołuję w momencie wciśnięcia przycisku potwierdzającego w formularzu plikowym.

<script type="text/javascript">
<!-- <![CDATA[
function rozszerzenie(f) {
  nazwa = f.plik1.value;
  if (nazwa=="") {
    alert("Musisz wybrać plik do wysłania!");
    return false;
  }
  if (nazwa.lastIndexOf(".pdf")<0) 
  {
    return true;
  }
  else	
  {	
    alert("Możesz wysyłać tylko pliki PDF!");
    return false;
  }
  return true;
}
// ]]> -->
</script>

Sprawdza on rozszerzenie pliku i puszcza tylko PDFy. Chciałbym, żeby przechodziły jeszcze DOC. Zmieniłem część skrypty na:

if (nazwa.lastIndexOf(".pdf")<0 || nazwa.lastIndexOf(".doc")<0)

ale teraz puszcza mi wszystkie pliki. Co jest nie tak?

0

Javascript to nie Java pomyliłeś podforum.

Co zaś się tyczy samego pytania to metoda którą zaproponowałeś jest podwójnie zła. Po pierwsze sprawdzasz tylko rozszerzenia plików. Można zatem przesłać np. php z rozszerzeniem .pdf. Nalezy sprawdzać typ mime pliku, ale to można zrobić tylko na serwerze. Po drugie sposób w jaki sprawdzasz rozszerzeni, warunek logiczny, jest nie bangla. Zapis :

if (nazwa.lastIndexOf(".pdf")<0) 

oznacza mniej więcej "Jeżeli ostatnie wystąpienie 'pdf' jest mniejsze od zera to " inaczej mówiąc 'jeżeli "pdf" nie występuje to'. Zatem w praktyce można wysłać dowolny plik poza pdfem :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1