Pythonista lisätietoa

Koodataanko pythonilla exe-tiedosto? Eli koodi ei siten ole vapaasti luettavissa? Jos alkaa opetella ohjelmointia, olisiko se paras? Osaan vähän javascriptiä, mutta se näkyy sellaisenaan www-sivulta käyttäjälle. En haluaisi antaa tulevaa ohjelmaani suoraan luettavaksi.
35739
Äänestä

Muut lukivat myös

Vastaukset 35

Vanhimmat

En koodaa windowsille enää ikinä mitään!

Äänestä
  • MS varastaa koodia! ei kiva!
    Olen huomannut sen kun törmäsin mailmalla koodia, jossa oli suomenkieliset kommenttini!
    Silloin 100% varma että koodi oli minun ja sitä en julkaissut.

    Äänestä

  • Minäkin poistin vimpan windowsin!
    W11 Päivitys meni siis ihan reisille! Jälleen kerran! Niin aina!
    W11 ja Prosulle 100% kuorma kokoajan:
    Se rampauttaa koneen ihan totaalisesti!

    Äänestä

Aika monelle tulkattavalle kielelle löytyy exe-wrapperi ts. ohjelmaan saa käärittyä mukaan tulkin.
Javascriptille on olemassa myös ns. mangler-ohjelmia(sotkijoita?) jotka nimeävät kaiken koodissa olevan uudestaan esim. 2-kirjaimisilla tunnisteilla ja poistavat kaikki turhat välilyönnit/rivinvaihdot. Tällainen koodi on kääntäjälle nopeammin luettavaa, mutta jos sitä joutuisi vähän avaamaan - mitä koodi tekee - niin se ei olisi kovinkaan mukavaa.
Noista exe-wrappereistä vielä sellaista, että osa niistä tuottaa jonkinasteista puoliksi käännettyä koodia eli lähdekoodi ei enää ole mukana sellaisenaan vaan sisäisinä tietorakenteina joita käydään läpi kuin alkuperäistä koodia.

1Äänestä

Nykyään tehdään Docker-image.

Äänestä
  • En nyt sanoisi, että tehdään. Se on yksinkertaisesti liian raskas tapa tehdä levitettäviä ohjelmia. Yleensä kyse on kuitenkin jonkinlaisista työkaluohjelmista, jolloin niitä voi olla mahdollisesti satoja ja pitää pystyä vaikka kutsumaan skriptistä. Tällaisen käytettävyys on helppo tuhota dockerin avulla.

    Äänestä

  • Anonyymi00005 kirjoitti:

    En nyt sanoisi, että tehdään. Se on yksinkertaisesti liian raskas tapa tehdä levitettäviä ohjelmia. Yleensä kyse on kuitenkin jonkinlaisista työkaluohjelmista, jolloin niitä voi olla mahdollisesti satoja ja pitää pystyä vaikka kutsumaan skriptistä. Tällaisen käytettävyys on helppo tuhota dockerin avulla.

    No raskaus on makuasia. Teetkö jonkun oudon alustariippuvaisen exe:n, vai Docker-imagen mikä toimii missä tahansa. Kukin tyylillään.

    Esim curlia voi käyttää näin:

    docker run --rm curlimages/curl:8.10.0 --version

    Tuo näyttää kyseisen curlin versionumeron. Voit käyttää suoraan kuten asennettua curliakin Docker-ympäristössä, tai missä tahasa missä Docker-imaget on käytettävissä.

    Äänestä

  • Tuo on toki toimiva tapa.

    Äänestä

  • Anonyymi00005 kirjoitti:

    En nyt sanoisi, että tehdään. Se on yksinkertaisesti liian raskas tapa tehdä levitettäviä ohjelmia. Yleensä kyse on kuitenkin jonkinlaisista työkaluohjelmista, jolloin niitä voi olla mahdollisesti satoja ja pitää pystyä vaikka kutsumaan skriptistä. Tällaisen käytettävyys on helppo tuhota dockerin avulla.

    "Se on yksinkertaisesti liian raskas tapa tehdä levitettäviä ohjelmia."

    Ei ole, päinvastoin. Todella helppoa vain käynnistää Docker image ja siellä on kaikki ne roinat sisällä.

    "Yleensä kyse on kuitenkin jonkinlaisista työkaluohjelmista, jolloin niitä voi olla mahdollisesti satoja ja pitää pystyä vaikka kutsumaan skriptistä. Tällaisen käytettävyys on helppo tuhota dockerin avulla."

    Tuohon käy periaatteessa mikä tahansa natiivikkoodiksi kääntävä kieli. Edukseen erottuvat eri tavoilla:
    -C (erikoistapaus sillä mahdollistaa turvallisuuskriittiset ohjelmat, omiaan systeemiohjelmoinnissa. Ilman äärimmäistä kurinalaisuutta koodi on täynnä vikoja)
    -Haskell (koska Lazy evaluation ja erittäin vaikeata tehdä virheitä, funktionaalinen, erinomainen määrittelykieli)
    -Ocaml (kuin Haskell mutta eager evaluation, ei ole niin tiukka, funktionaalinen)
    -Rust (imperatiivinen kieli joka jossain määrin pakottaa kirjoittamaan oikein)
    -Go (samanaikaisuus, hyvä standardikirjasto, hyvät työkalut/ekosysteemi)
    -C++ (käytetään yleensä legacyn kanssa, myös turvallisuuskriittistä käyttöä, saatavilla jänniä kirjastoja, mahdollistaa herkemmin vikojen tekemistä)
    -Ada (erikoistapaus sillä mahdollistaa turvallisuuskriittiset ohjelmat, mutta siinä on Go:n tapainen samanaikaisuus)

    Äänestä

  • Anonyymi00010 kirjoitti:

    "Se on yksinkertaisesti liian raskas tapa tehdä levitettäviä ohjelmia."

    Ei ole, päinvastoin. Todella helppoa vain käynnistää Docker image ja siellä on kaikki ne roinat sisällä.

    "Yleensä kyse on kuitenkin jonkinlaisista työkaluohjelmista, jolloin niitä voi olla mahdollisesti satoja ja pitää pystyä vaikka kutsumaan skriptistä. Tällaisen käytettävyys on helppo tuhota dockerin avulla."

    Tuohon käy periaatteessa mikä tahansa natiivikkoodiksi kääntävä kieli. Edukseen erottuvat eri tavoilla:
    -C (erikoistapaus sillä mahdollistaa turvallisuuskriittiset ohjelmat, omiaan systeemiohjelmoinnissa. Ilman äärimmäistä kurinalaisuutta koodi on täynnä vikoja)
    -Haskell (koska Lazy evaluation ja erittäin vaikeata tehdä virheitä, funktionaalinen, erinomainen määrittelykieli)
    -Ocaml (kuin Haskell mutta eager evaluation, ei ole niin tiukka, funktionaalinen)
    -Rust (imperatiivinen kieli joka jossain määrin pakottaa kirjoittamaan oikein)
    -Go (samanaikaisuus, hyvä standardikirjasto, hyvät työkalut/ekosysteemi)
    -C++ (käytetään yleensä legacyn kanssa, myös turvallisuuskriittistä käyttöä, saatavilla jänniä kirjastoja, mahdollistaa herkemmin vikojen tekemistä)
    -Ada (erikoistapaus sillä mahdollistaa turvallisuuskriittiset ohjelmat, mutta siinä on Go:n tapainen samanaikaisuus)

    Jos työkalun käännetty versio vie esim. 500 tavua, niin docker-image on aivan järjetön idea.. Ei jatkoon!

    Äänestä

  • Anonyymi00012 kirjoitti:

    Jos työkalun käännetty versio vie esim. 500 tavua, niin docker-image on aivan järjetön idea.. Ei jatkoon!

    Heh, no käännä Python-koodista 500 tavun "Hello World" suoritettava "exe"-tiedosto ja julkaise se meille, oi te Suuri Ohjelmointi Guru.

    Muahahahahaha.

    Äänestä

  • Anonyymi00012 kirjoitti:

    Jos työkalun käännetty versio vie esim. 500 tavua, niin docker-image on aivan järjetön idea.. Ei jatkoon!

    Yleensä tuolla ei ole mitään merkitystä, ei vaikka veisi pari gigaa. Mutta jos haluaa kokoa optimoida niin siihen on sitten eri työkalut.

    Äänestä

  • Anonyymi00012 kirjoitti:

    Jos työkalun käännetty versio vie esim. 500 tavua, niin docker-image on aivan järjetön idea.. Ei jatkoon!

    Samaa mieltä ja windowsiin koodaaminen muutenkin järjetöntä.

    Äänestä

  • Anonyymi00024 kirjoitti:

    Samaa mieltä ja windowsiin koodaaminen muutenkin järjetöntä.

    NIIN ON!

    💩 Moi, Mie oon windows.

    Äänestä

Pythonia on helppo opetella mutta se on tulkattava kieli kuten Javascript ja koodi on vapaasti luettavissa.

Helpoin tapa tehdä asiakaspäässä ajettavaa koodia joka on salattuna, on tehdä se koodi vaikka sillä Javascriptillä niin että se näkyy mutta jos haluaa jonkun osion salata niin käyttää siinä eri kieltä ja kääntää tämän webassemblylle. Sitä salattua osaa voi käyttää sitten Javascriptistä käsin. Tämä johtuu siitä, että harvemmin kaikkea tarvitsee salata. Sopivia kieliä sitä varten, että kirjoittaa salattuja osia ovat esimerkiksi Rust, Go, C ja C++.

Vielä varmempi, ja helpompi tapa salata koodia on se että koodi pysyy palvelimessa. Eli ajetaan palvelimessa ja palvelin vain näyttää näkymää sitten asiakkaalla. Näin toimii vaikka mikä tahansa pankkisovellus ja suurimmaksi osaksi myös tämä Suomi24.

Sitä vaan halutaan vähentää palvelimen kuormitusta ajamalla koodia asiakkaan puolella niin säästyy kuluissa.

Äänestä

Voit luoda Docker-imagen, joka käyttää Alpine Linuxia ja Pythonia, ja tulostaa tervehdyksen annetulla nimellä, seuraamalla näitä ohjeita.

### 1. Luodaan Python-skripti

Aloitetaan luomalla Python-skripti, joka tulostaa halutun viestin. Luo tiedosto nimeltä `app.py` ja lisää seuraava koodi:

```python
import sys

def main():
if len(sys.argv) != 2:
print("Käyttö: python app.py <nimi>")
sys.exit(1)

nimi = sys.argv[1]
print(f"Morjesta vaan, {nimi}")

if __name__ == "__main__":
main()
```

### 2. Luodaan Dockerfile

Seuraavaksi luodaan `Dockerfile`, joka määrittelee Docker-imagen. Luo tiedosto nimeltä `Dockerfile` ja lisää seuraava sisältö:

```dockerfile
# Käytetään Alpine Linuxia Pythonilla
FROM python:3.11-alpine

# Työhakemisto
WORKDIR /app

# Kopioi Python-skripti
COPY app.py .

# Suorita skripti komennolla
ENTRYPOINT ["python", "app.py"]
```

### 3. Rakennetaan Docker-image

Avaa terminaali ja siirry siihen hakemistoon, jossa `Dockerfile` ja `app.py` sijaitsevat. Rakenna Docker-image komennolla:

```sh
docker build -t alpine-python-greeting .
```

### 4. Suoritetaan Docker-image

Kun image on rakennettu, voit suorittaa sen antamalla nimen argumenttina. Esimerkiksi, ajamalla `docker run` komennoilla:

```sh
docker run --rm alpine-python-greeting <nimi>
```

Korvaa `<nimi>` haluamallasi nimellä, ja konsolissa tulostuu "Morjesta vaan, <nimi>".

### 5. Koodin salaus

Jos haluat estää Python-koodin lukemisen Docker-imageä käytettäessä, voit pakata koodin esimerkiksi `pyarmor`-työkalulla, joka suojaa Python-sovelluksia. Asenna `pyarmor`:

```sh
pip install pyarmor
```

Muokkaa `Dockerfile`-tiedostoa siten, että se käyttää `pyarmor`-komentoa koodin suojaamiseen:

```dockerfile
# Käytetään Alpine Linuxia Pythonilla
FROM python:3.11-alpine

# Asenna pyarmor
RUN apk add --no-cache py3-pip && pip install pyarmor

# Työhakemisto
WORKDIR /app

# Kopioi Python-skripti
COPY app.py .

# Suojaa skripti
RUN pyarmor pack -x " --onefile" app.py

# Suorita skripti
ENTRYPOINT ["python", "dist/app.py"]
```

Nyt, kun rakennat ja suoritat Docker-imagen taas, alkuperäinen `app.py`-tiedosto ei ole enää suoraan luettavissa. Tuotettu `dist/app.py` on pakattu ja suojattu, jolloin alkuperäinen koodi ei ole näkyvissä.

### Huomioita

- `pyarmor` ei täysin estä koodin purkamista, mutta se tekee sen vaikeammaksi.
- Varmista, että käytät Dockeria turvallisesti ja että ympäristösi on suojattu.

### Yhteenveto

Olet nyt luonut Python-pohjaisen Docker-imagen, joka käyttää Alpine Linuxia ja tulostaa tervehdyksen. Koodin suojaamiseen voit käyttää `pyarmor`-työkalua, jotta alkuperäinen koodi ei ole suoraan luettavissa.

Äänestä
  • Joo, tuo toimii.

    Äänestä

  • Anonyymi00011 kirjoitti:

    Joo, tuo toimii.

    Ihan sama toimiiko: Nyt ei olla markkinoimassa dockeria - ei jatkoon edelleenkään!

    Äänestä

  • Anonyymi00011 kirjoitti:

    Joo, tuo toimii.

    Mitenkä asetan dockerilla sovelluksen muistirajoitteeksi esim. 500 tavua? Enempää ei saa käyttää.

    Äänestä

  • Anonyymi00014 kirjoitti:

    Mitenkä asetan dockerilla sovelluksen muistirajoitteeksi esim. 500 tavua? Enempää ei saa käyttää.

    Koodataanko pythonilla exe-tiedosto? Eli koodi ei siten ole vapaasti luettavissa? Jos alkaa opetella ohjelmointia, olisiko se paras? Osaan vähän javascriptiä, mutta se näkyy sellaisenaan www-sivulta käyttäjälle. En haluaisi antaa tulevaa ohjelmaani suoraan luettavaksi.

    Äänestä

  • Anonyymi00014 kirjoitti:

    Mitenkä asetan dockerilla sovelluksen muistirajoitteeksi esim. 500 tavua? Enempää ei saa käyttää.

    Eipä taida onnistua millään työkalulla kun johan siellä pinoa varataan enemmän. Python tulkki vie muuten valtavan paljon enemmän muistia.

    Muistinkulutuksen optimointiin voi ohjelmointia tehdä C:llä.

    Äänestä

  • Anonyymi00017 kirjoitti:

    Koodataanko pythonilla exe-tiedosto? Eli koodi ei siten ole vapaasti luettavissa? Jos alkaa opetella ohjelmointia, olisiko se paras? Osaan vähän javascriptiä, mutta se näkyy sellaisenaan www-sivulta käyttäjälle. En haluaisi antaa tulevaa ohjelmaani suoraan luettavaksi.

    "Koodataanko pythonilla exe-tiedosto? "

    Aivan käsittämätön ajatus. Säätää siinä nyt sitten digitaalisten allekirjoitusten kanssa, ihmiset eivät halua tuollaisia ladata ja Microsoft varmaan poistaa Home versioista mahdollisuuden tuohon pian.

    "mutta se näkyy sellaisenaan www-sivulta käyttäjälle."

    Tekemällä koodi palvelimessa ajettavana on helpoin tapa suojata ohjelma.

    Äänestä

  • Anonyymi00019 kirjoitti:

    "Koodataanko pythonilla exe-tiedosto? "

    Aivan käsittämätön ajatus. Säätää siinä nyt sitten digitaalisten allekirjoitusten kanssa, ihmiset eivät halua tuollaisia ladata ja Microsoft varmaan poistaa Home versioista mahdollisuuden tuohon pian.

    "mutta se näkyy sellaisenaan www-sivulta käyttäjälle."

    Tekemällä koodi palvelimessa ajettavana on helpoin tapa suojata ohjelma.

    💩 Moi, Mie oon windows.
    --------------------------------------------------------

    Äänestä

  • Anonyymi00018 kirjoitti:

    Eipä taida onnistua millään työkalulla kun johan siellä pinoa varataan enemmän. Python tulkki vie muuten valtavan paljon enemmän muistia.

    Muistinkulutuksen optimointiin voi ohjelmointia tehdä C:llä.

    C:llä ei kannata nykyään tehdä yhtään mitään muistinkäsittelyyn liittyvää. Paljon järkevämpää koodata Rustilla, sillon välttää ne C:n ja C++:n muistinhallintaongelmat ja niillä tehtyjen ohjelmien muistinhallintaan liittyvät bugit.

    Äänestä

  • Anonyymi00032 kirjoitti:

    C:llä ei kannata nykyään tehdä yhtään mitään muistinkäsittelyyn liittyvää. Paljon järkevämpää koodata Rustilla, sillon välttää ne C:n ja C++:n muistinhallintaongelmat ja niillä tehtyjen ohjelmien muistinhallintaan liittyvät bugit.

    On totta, että Rustilla on helpompi tehdä ohjelmia missä ei ole muistinhallintabugeja kuin C:llä, C++:lla tai Pascalilla. Se on todellakin usein parempi näitä.

    Mutta tuo ei ole totta että C:llä ei kannata tehdä yhtään mitään. Rust ei esimerkiksi sovellu nykyisin kriittisiin kohteisiin joissa virheet voivat tappaa ihmisiä. Siellä on aivan eri vaatimukset. Muistinkäyttöä voi myös optimoida C:llä paremmin jos nyt välttämättä haluaa tehdä ohjelman toimimaan äärimmäisen pienessä muistialueessa niinkuin täällä joku halusi.

    Rust korvaa ennemminkin C++:aa mutta C++:ssa taas on vahvuuksia sen ekosysteemissä. Sille on valmiina ylläpidettynä palikoita jotka ratkaisevat paljon sovelluksen ylläpitoon riippuvia asioita joten vaatimuksista riippuen kannattaa usein tehdä C++:lla.

    Tietysti jos nyt oikeasti haluaa työkalun millä on vaikeata tehdä bugeja niin Haskell on siihen paras kieli. Mutta on siinäkin ongelmansa. Se on niin tarkka käännösvaiheessa, että siihen on vaikeata integroida mitään palikoita että softan tulisi toimia hyvin eristetysti. Menee muuten vaikeaksi tehdä.

    Muistinhallintabugeilta välttyy monilla muillakin kielillä, kuten C#, Dart, Erlang, Go, Ocaml, Java, PHP, Python, Typescript jne.

    Eli, mikä on sopivin kieli toteututukseen riippuu täysin vaatimuksista mitä ollaan tekemässä. Jos aloittaja kuvaisi sen ohjelmansa konseptin ja vaatimukset tähän mitä on tekemässä niin voidaan valita paremmin.

    Äänestä

  • Anonyymi00032 kirjoitti:

    C:llä ei kannata nykyään tehdä yhtään mitään muistinkäsittelyyn liittyvää. Paljon järkevämpää koodata Rustilla, sillon välttää ne C:n ja C++:n muistinhallintaongelmat ja niillä tehtyjen ohjelmien muistinhallintaan liittyvät bugit.

    Rust on sateenkaariväen ohjelma, ei sitä kukaan normaali ihminen käytä!

    Äänestä

  • Anonyymi00035 kirjoitti:

    Rust on sateenkaariväen ohjelma, ei sitä kukaan normaali ihminen käytä!

    Otahan lääkkeet.

    Äänestä

  • Anonyymi00036 kirjoitti:

    Otahan lääkkeet.

    Ota ite.

    Äänestä

Mun käsittääkseni Python ei tuota exe-tiedostoja tai muitakaan binaareja vaan se on kokonaan tulkattava kieli.

Äänestä
  • Se on, mutta siitä on versioita joilla voi tuottaa binäärejä mutta tässä kohtaa tietenkin kannattaa vähän pakittaa että onko valittu työkalu yleensäkään se mitä halutaan.

    Pythonia käytetään testauksessa, viemään koodi palvelimelle yms. tuotantoonvienti automaatio, sillä kirjoitetaan korkean tason koodia ja käskytetään vaikka AI moduuleja. Sillä voi myös protoilla asioita kivasti.

    Mutta jos tavoite on komentorivillä käskytettävä pieni työkalu joka ottaa dataa sisään ja vie dataa ulos ja toteutus pitäisi piilottaa niin se on väärä työkalu tähän.

    En ymmärrä tätä miksi ihmiset yrittävät kaiken aikaa ottaa jonkun tietyn kielen tai työkalun ja vääntää kaikkea mahdollista sillä. Ei vasaralla ole hyvä sahata lautoja, tai höylätä parkettia.

    Äänestä

  • 💩 Moi, Mie oon windows.

    Äänestä

  • Anonyymi00021 kirjoitti:

    Se on, mutta siitä on versioita joilla voi tuottaa binäärejä mutta tässä kohtaa tietenkin kannattaa vähän pakittaa että onko valittu työkalu yleensäkään se mitä halutaan.

    Pythonia käytetään testauksessa, viemään koodi palvelimelle yms. tuotantoonvienti automaatio, sillä kirjoitetaan korkean tason koodia ja käskytetään vaikka AI moduuleja. Sillä voi myös protoilla asioita kivasti.

    Mutta jos tavoite on komentorivillä käskytettävä pieni työkalu joka ottaa dataa sisään ja vie dataa ulos ja toteutus pitäisi piilottaa niin se on väärä työkalu tähän.

    En ymmärrä tätä miksi ihmiset yrittävät kaiken aikaa ottaa jonkun tietyn kielen tai työkalun ja vääntää kaikkea mahdollista sillä. Ei vasaralla ole hyvä sahata lautoja, tai höylätä parkettia.

    Hölynpölyä. Python on yleiskäyttöinen ohjelmointikieli, jolla voi tehdä ihan mitä tahansa mitä millä tahansa muulla yleiskäyttöisellä ohjelmointikielellä kuten C:llä tai C++:lla.

    Äänestä

  • Anonyymi00031 kirjoitti:

    Hölynpölyä. Python on yleiskäyttöinen ohjelmointikieli, jolla voi tehdä ihan mitä tahansa mitä millä tahansa muulla yleiskäyttöisellä ohjelmointikielellä kuten C:llä tai C++:lla.

    Voi toki, mutta on aivan eri asia mihin sitä kannattaa käyttää.

    Jos tavoitteena on piilottaa toteutus ilman containeria, silloin valitaan kieli joka suunniteltu kääntämään tavukoodiksi tai natiiviksi. On runsaasti vaihtoehtoja.

    Tavoitteena jos on minimaalinen muistinkulutus niin silloin valitaan C. Yleensä siinä vaan ei ole mitään järkeä kun muisti ei ole niukkaa muualla kuin mikrokontrollereissa, usein halutaan enemmän suorituskykyä muistinkulutuksen kustannuksella.

    Sitä vaan on eri vaihtoehtoja että ensiksi selvitetään mitä oikein halutaan, sitten vasta mietitään siihen sopivin työkalu.

    Kaikki höpötys on turhaa niin kauan aikaa kunnes aloittaja kertoo minkälaista sovellusta on oikeasti tekemässä.

    Äänestä

Python on tulkattava kieli, joten sillä tehtyjä ohjelmia ei käännetä.

Äänestä

"pyinstaller" on keino paketoida kaikki yhteen tiedostoon --onefile -vipusella
suorituskyvyn ja jakelun koon takia miettisin kyllä jotain muuta, jos nuo on ongelma

Äänestä

Ketjusta on poistettu 2 sääntöjenvastaista viestiä.

Kommentoi aloitusta


Anonyymi-ap kirjoitti:

Koodataanko pythonilla exe-tiedosto? Eli koodi ei siten ole vapaasti luettavissa? Jos alkaa opetella ohjelmointia, olisiko se paras? Osaan vähän javascriptiä, mutta se näkyy sellaisenaan www-sivulta käyttäjälle. En haluaisi antaa tulevaa ohjelmaani suoraan luettavaksi.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu