Security
craftforJ lukee ja kirjoittaa projektin lähdekoodia, johon se on liitetty. Tämä sivu kuvaa, mitkä ovat rajat ja kuinka varmistaa, että craftforJ on pois päältä niissä rakennuksissa, joita julkaiset.
Kaksi pakollista asetusta
craftforJ vaatii, että molemmat seuraavista on käytössä:
webforj.debugwebforj.devtools.craftforj.enabled
Mikään näistä ei tee mitään yksinään. Sovellus, joka saavuttaa tuotannon, kun virheenkorjaustila on päällä, ei paljasta craftforJ:ta, ja sovellus, joka sisältää craftforJ-ominaisuuden jaettu konfigurointitiedostossa, ei paljasta sitä virheenkorjaustilan ulkopuolella.
Projektit, jotka on luotu startforJ tai webforJ archetype -mallista, ovat molemmat käytössä, joten craftforJ toimii ensimmäisestä käyttöönottokerrasta alkaen. Ennen kuin julkaiset, käy läpi tuotantotarkistuslista alla.
Paikallinen käyttö oletuksena
Vain selain, joka toimii sovellusta ajavassa koneessa, voi käyttää craftforJ:ta. Kaikki muu estetään, ja tämä pätee ilman mitään konfiguraatiota puoleltasi. Jotta voisit käyttää craftforJ:ta toiselta koneelta, nimeä kyseinen kone hosts-allowed -asetuksessa. Osoitteet vertaillaan sellaisenaan, joten asiakas ei voi päästä läpi väittämällä olevansa jotain muuta.
Asetus hosts-allowed = "*" tarkoittaa, että kuka tahansa, joka voi päästä sovelluksesi porttiin, voi lukea ja kirjoittaa projektisi lähdekoodin. Tämä on olemassa suljetuissa ympäristöissä, kuten säilössä, johon voit päästä vain sinä. Älä käytä sitä muualla.
Ei lisättyä HTTP-pintaa
craftforJ ei lisää HTTP-päätepistettä, servletiä tai suodatinta sovellukseesi. Se toimii olemassa olevan yhteyden yli, joten sovelluksesi vastaa tarkalleen samaan pyyntöjen joukkoon craftforJ käytössä kuin ilman sitä.
Pyyntöjä tulee sivultasi
craftforJ reagoi vain pyyntöihin, jotka tulevat sivulta, jonka palvelimesi oikeasti palvelee. Skripti, joka löytää tiensä sivulle jostakin muualta, kuten vaarantuneesta riippuvuudesta tai konsoliin liitetystä, ei voi ohjata craftforJ:ta.
API-avaimet
Avaimesi tallennetaan koneelle, joka ajaa sovellustasi. AI-avustaja toimii selaimessa, joten craftforJ:n on annettava avain työskennelläkseen, ja se pitää avainta muistissa niin kauan kuin sivu on auki. Mikään ei tallenneta selainmuistiin, ja sivun sulkeminen ei jätä mitään jälkeensä.
Avustaja kommunikoi sitten palveluntarjoajasi kanssa selaimesta sen sijaan, että se menisi palvelimesi kautta. Ei ole välikättä, ei proxyä, ei telemetriaa ja ei kolmatta osapuolta välissä.
Mikä pääsee palveluntarjoajallesi, on itse keskustelu, joka sisältää osat sovelluksestasi, joita avustaja tarkasteli, ja kaikki kuvakaappaukset, joita se otti. Ota tämä huomioon ennen kuin osoitat isännöityä mallia sovellukseen, joka toimii oikeiden tietojen kanssa. Paikallisesti toimiva malli pitää kaiken koneellasi.
Mitä craftforJ voi muuttaa
Kun kaikki ominaisuudet ovat käytössä, craftforJ voi:
- Lukea minkä tahansa lähdetiedoston projektin juuressa
- Kirjoittaa Java-lähdetiedostoja, mukaan lukien reitin pääsyannotaatiot
- Kirjoittaa sovelluksesi tyylitiedoston
- Muuttaa ja poistaa komponentteja käynnissä olevasta sovelluksesta
- Navigoida käynnissä olevaa sovellusta
Jokainen näistä voidaan sammuttaa erikseen, ja jokainen kirjoitus levylle tapahtuu läpi diffin, jonka hyväksyt.
Tuotannossa
Jätä craftforJ pois päältä. Se on pois päältä, ellei olet sen päällä, joten useimmissa tapauksissa ei ole mitään tehtävää. Varmistaaksesi:
webforj.devtools.craftforj.enabledon asetettu taifalsekonfiguraatiossa, jonka oikeasti julkaiset.webforj.debugon asetettu taifalsesamassa konfiguraatiossa.- Yhtään ominaisuutta ei aseteta ympäristömuuttujalla tai profiililla, joka koskee vain tuotantoa.
- Lataa julkaistu sovellus ja varmista, ettei sivulla ole craftforJ-aktivointia.
Laajemman kuvan katsomiseksi, katso Tuotannon kovettaminen.
Turvallisuusongelman raportointi
Jos löydät turvallisuusongelman craftforJ:ssa, raportoi se webforJ:n turvallisuuspolitiikan kautta sen sijaan, että tekisit siitä julkista asiaa.