[JS] Jak ograniczyć uplodowanie plików tylko do jpg lub zip?

0

Jak ograniczyć uplodowanie plików tylko do jpg lub zip?

0

Przede wszystkim - zabezpieczenie po stronie klienta przed uploadowaniem nieprawidłowych plików nie ma sensu. Zabezpiecz to po stronie serwera (jeśli w PHP, to nawet w artach masz opis, w jaki sposób).

0

a może link by ktoś podał albo skrypt w JS?? Kiedyś miałem taki co sprawdzał czy jest jpg czy nie [onSubmit]...

0

Nie bardzo, bo js nie ma dostepu do plikow. Chyba, ze w trakcie wysylania mozesz podejrzec wartosc pola file i sprawdzic rozszerzenie - ale to i tak srednie zabezpieczenie.

0

to chyba i tak lepsze niż żadne :-) A jaki proponujecie? W php wiem że jest tylko nie wiem jak je użyć :/

0

zawsze mozesz po zaladowaniu na serwerze rozszerzenie... ale to i tak nie zabezpieczy to w 100%, gdybys chcial zrobic cos lepszego (ale dalej nie bedzie 100%) to po wgraniu na serwer musialbys odczytac naglowek pliku...

0
johny_bravo napisał(a)

Nie bardzo, bo js nie ma dostepu do plikow.

no ale rozszerzenie mozna odczytac:

<script>
function checkForm(t) {
  var p = t['plik'];
  if(! p.value.match(/.*\.(jpg|zip)$/i)) {
    alert('Dupa !!!');
    p.value = '';
    return false;
  }
  return true;
}
</script>
<form onsubmit="return checkForm(this)">
  <input type="file" name="plik">
  <input type="submit">
</form>
0

O tym tez pisalem, ale to takie wstepne zabezpieczenie raczej.

0

Może inaczej: Jeśli chce się zabezpieczyć serwer przed wgrywaniem plików nieprawidłowych, to nie ma sensu tego robićw JS. Po prostu. Jeśli chcesz zabezpieczyć użytkownika przed wysyłaniem danych, żeby się na koniec dowiedzieć, że serwer nie akceptuje tego pliku, to to co podał piechnat będzie dobrym rozwiązaniem.

0

no ale co za problem zmienić rozszerzenie na zip lub jpg a tak naparwdę to będzie plik np mp3... wiec tak jak napisałem nie ma w 100% sposobu na to... :/

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