Alkalmak‎ > ‎2015-16-os tanév‎ > ‎

28. alkalom

Választható feladatok

Biztonságtechnika

  1. Validation (ellenőrzés)
    • Az összes bemenő adaton!
      (request.getUri(), request.getParams(), fájlok)
    • WhiteListing!
      • Milyen karakterek jók?
        '\n'?
        ':'?
        Üres String?
    • public static boolean isValid(String input) {
      	return input.matches("[a-zA-Z0-9éáűőúöüóíÉÁŰŐÚÖÜÓÍ\\?\\.\\,]*");
      }
      

      Az input.matches("…") megpróbálja ráilleszteni a megadott mintát az input-ra. A minta úgynevezett reguláris kifejezés (regular expression). A szögletes zárójelek között karakterek ráilleszhetők egy betűre, ha az szerepel a felsorolásban. A * azt jelenti, hogy az előtte lévő részt akár 0, 1, 2 vagy akárhány betűre ki tudja terjeszteni.

      Tehát "a".matches("[abc]") igaz, "d".matches("[abc]") hamis,
      "abbabbca".matches("[abc]*") igaz.

      További részletek a reguláris kifejezésekről: http://www.tutorialspoint.com/java/java_regular_expressions.htm

  2. Random SessionID
  3. Elévülő Session-ök
    • Csak bizonyos ideig létezzenek a WebServer.sessions-ben
    • Session.expire beállítása System.currentTimeInMillis() + SESSION_ALIVE-ra létrehozáskor, és minden használatkor
    • Egy Thread, ami bizonyos időközönként végignézi a WebServer.sessions Map-et lejárt Session-ök után kutatva
  4. Fájlhivatkozások leellenőrzése
    • public static void isValid(File file) {
          return file.getCanonicalPath().startsWith(PREFIX);
      }

Egyéb

  1. loggolás kiterjesztése
    • Hibák, ... kiírása
    • Jelszók eltüntetése!
  2. Játékok tesztelése
    • Hogy működik?
    • Milyen konfigurációval volna jobb?
    • Milyen gyorsan tanulod meg?
    • Bugok?
  3. Felhasználói élmény javítása – javaslatok
    • Hol kényelmetlen? Hogy lehet kijavítani?
  4. Web (K. Máté)
    • Message sáv ('sikeres bejelentkezés')
    • Regisztráció
    • Működő gombok a topic- és a kérdésszerkesztőben
  5. Backup fájl elnevezése (backup-2015-05-13--13-30.mvb)
    http://java67.blogspot.hu/2013/01/how-to-format-date-in-java-simpledateformat-example.html
  6. A legutolsó fájl betöltése
    • Fájlok kilistázása az aktuális mappában:
      File[] files = new File(".").listFiles();
    • Meg kell keresni az "abc-rend" szerinti utolsó "backup-"-pal kezdődő fájlnevet. Az i-edik fájl neve files[i].getName().
    • Amikor két String-et akarsz összehasonlítani, gondolj rájuk úgy, mint két számra, tehát először írd le ugyanúgy, hogy a < b (ami igaz, ha a="lak", b="lap")
    • Ezután az a<b-t írd át a.compareTo(b)<0-ra
  7. Más: Maximális profit
Comments