Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.
Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou
… více »Český statistický úřad rozšiřuje Statistický geoportál o Datový portál GIS s otevřenými geografickými daty. Ten umožňuje stahování datových sad podle potřeb uživatelů i jejich prohlížení v mapě a přináší nové možnosti v oblasti analýzy a využití statistických dat.
Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.
Jarní konference EurOpen.cz 2025 proběhne 26. až 28. května v Brandýse nad Labem. Věnována je programovacím jazykům, vývoji softwaru a programovacím technikám.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
U starších verzí php je problém s logováním ... Když tak neučiníš, může se ti krásně stát, že se ti ve frontě objeví pár stovek tisíc emailů a ty nebudeš schopen určit, odkud se tam ocitly.Záleží teda, co máš přesně na mysli, ale Postfix loguje tohle:
mail.info: postfix/pickup[6682]: 4174238AC: uid=1001 from=<adresa>Víc informací IMO ze SMTP přihlášení v praxi stejně nedostaneš.
ktery ti to bude logovatKterý bude logovat co? To, že někdo použil funkci mail, respektive rozhraní sendmail, na které je mapovaná, vidím v syslogu.
kdyz nekdo pouzije funkci mail v php (http://php.net/manual/en/function.mail.php), tak zjistite informace o scriptu ze syslogu?Psal jsem někde něco takového?
logovat tam lze cokoliv, co si vymyslite (wrapper musite napsat sam)Ok, když už se o tom bavíme, kde ty informace k logování vezmu? Jmenovitě třeba to, který skript tu funkci zavolal. V **argv nejsou a podle krátkého pokusu v proměnných prostředí taky ne.
dle "ukazkovych" scriptu, by mely byt nejake informace v promennych prostrediNejsou. Nebo přinejmenším u mě ne, IIRC je maže suexec - jedině je doplnit pomocí putenv()
pokud by se pouzivala smtp autentifikace, nepujde podvrhnout odesilany emailTohle není pravda, rozhodně ne obecně. Pokud někdo zneužije funkcionalitu rozesílání mailů nějakého webu, nepotřebuje přihlašovací údaje - ty za spammera aplikace ochotně pošle sama. Nehledě na to, že typická bezpečnostní chyba útočníkovi umožňuje nahrát si do toho webu, co se mu zlíbí, a tím následně taky stáhnout, co se mu zlíbí.
(a v pripade kompromitace / spamu lze ten ucet zakazat), coz u php mail funkce nejdeFunkci mail() samozřejmě zakázat jde. Buď v PHP (
disable_functions
), nebo zablokovat uživatele v Postfixu (authorized_submit_users
v main.cf). Samozřejmě připadá v úvahu i dělat to v tom wrapperu.
Nejsou. Nebo přinejmenším u mě ne, IIRC je maže suexec - jedině je doplnit pomocí putenv()Vy mate nejake ukazkove scripty? Apache server zadne neobsahuje, proto "ukazkove"
Tohle není pravda, rozhodně ne obecně. Pokud někdo zneužije funkcionalitu rozesílání mailů nějakého webu, nepotřebuje přihlašovací údaje - ty za spammera aplikace ochotně pošle sama. Nehledě na to, že typická bezpečnostní chyba útočníkovi umožňuje nahrát si do toho webu, co se mu zlíbí, a tím následně taky stáhnout, co se mu zlíbí.Takze nelze zakazat emailovy ucet, ktery byl kompromitovan, at uz slabym heslem, nebo bezpecnostni dirou? Nebo existuje v pouzivanych MTA takova bezpecnostni dira, ze lze odeslat email pod jakymkoliv uzivatelem?
Funkci mail() samozřejmě zakázat jde. Buď v PHP (Takze misto zakazani smtp uctu je lepsi zmenit nastaveni php.ini a restartovat cely webovy server?disable_functions
), nebo zablokovat uživatele v Postfixu (authorized_submit_users
v main.cf). Samozřejmě připadá v úvahu i dělat to v tom wrapperu.
Vy mate nejake ukazkove scripty?O ukázkových skriptech jste začal mluvit vy. Mě jako ukázkový stačí takový skript, který použije funkci mail a já se podívám na proměnné prostředí. Nic popisující klienta tam nebylo.
Takze nelze zakazat emailovy ucet, ktery byl kompromitovan, at uz slabym heslem, nebo bezpecnostni dirou?Opět, kde něco takového říkám? A na druhou stranu, jak přesně zakázání účtu zabrání podvrhnout odeslaný e-mail (tvrdíte vy), poté, co už odešel ze serveru?
Takze misto zakazani smtp uctu je lepsi zmenit nastaveni php.ini a restartovat cely webovy server?Ok, začínám mít lehce pocit, že s tím Apache a PHP zase moc neumíte, co? Restartovat webserver kvůli změně php.ini? Vážně?
Ctete poradne, o cem se vlastne hadate (viz puvodni prispevek od Maxe -> tedy to, ze je lepsi se funkci mail() vyhnout a autentizovat kazdeho pres smtp)To jsem udělal a zatím tady dva lidi mají docela problém objasnit, v čem je autentizace přes smtp lepší oproti funkci mail() bez wrapperu.
php fci mail nepoužívata následuje
Nejlepší je hnát uživatele k tomu, aby se na smtp přihlašovali pod uživatelským jménem a heslem, tzn., aby se ověřovali a vše jsi měl tak pod palcem tak, jak to má být. Když tak neučiníš, může se ti krásně stát, že se ti ve frontě objeví pár stovek tisíc emailů a ty nebudeš schopen určit, odkud se tam ocitly.To je to, s čím nesouhlasím. Když ti někdo zneužije funkci mail a když zneužije přihlašovací údaje, budeš vědět úplně to samé, tj. kdo to byl. Nic víc. U funkce mail() máš nicméně možnosti, jak logovat věci navíc (použitím nějakého wrapperu), v SMTP relaci máš akorát smůlu.
Samozřejmě je nejlepší vynechat v citátu tu nejdůležitější část, ke které se tato připomínka vztahuje, tj. "U starších verzí php je problém s logováním...".Já to nevynechávám (všimněte si, že tu část o logování jsem citoval už v druhém příspěvku ve vlákně.) Ptám se ale, v čem je - když použiju smtp přihlášení - lepší logování oproti tomu, když použiju funkci mail() ve starém PHP. U SMTP přihlášení mám SMTP uživatele, čas, odesílatel, příjemce. S funkcí mail() mám UID uživatele, čas, odesílatel, příjemce. Podle mě je to z praktického hlediska totéž - vím, kdo má děravý web, nevím, kde je děravý (i když na 99.9% budou časy odeslání docela dobře odpovídat nějakým POST požadavkům v access logu.) A naopak, když přejdeme k novým verzím PHP, tak u SMTP mám pořád jenom uživatele, čas, odesílatel, příjemce, kdežto PHP mi zaloguje (tvrdí předřečník výše) dodatečné informace navíc. Takže když radíte nepoužívat funkci mail(), abyste měl vše pod palcem, tak by mě zajímalo, co přesně tím máte lépe pod palcem.
Také nevím, jak je to u jiných mailových řešení a starších verzí ohledně logování uid u smtp.Přečtěte si ten řádek ze syslogu, který jsem napsal. Na PHP to vůbec nezávisí, zalogoval to Postfix (postfix/pickup[6682])
A i tak mi v novějších verzích přijde systémovější to hnát přes klasické ověřování, které podle mně umožňí lepší kontrolu, případně nastavení různých omezení per user, což s fcí php mail nenastavíš.Souhlas, samotným mail() se to nenastaví. Na druhou stranu na taková nastavení je podle mě lepší wrapper skript (pokud nejsou zapotřebí nějaké velké divočiny - a upřímně, většinou nejsou.) Přinejmenším pak odesílání nepotřebuje navazovat žádné síťové spojení a všechno se řeší lokálně (pipe na předání dat, exitcode na stav).
Přinejmenším pak odesílání nepotřebuje navazovat žádné síťové spojení a všechno se řeší lokálně (pipe na předání dat, exitcode na stav).Ale zas každý mail znamená spuštění nového procesu, což problém může být, pokud těch mailů posíláte 1000. U SMTP lze na jednom spojení využít pipelining. A i kdyby ne, tak lokální socket nebo i TCP na localhost je rychlejší a obecně méně náročné na zdroje, než spuštění nového procesu a předávání přes pipe.
Tiskni
Sdílej: