Archívum
szeptember 11, 2017
Session biztonsági ellenőrzés
Sziasztok! Adott egy weboldal, amin eddig úgy ment a felhasználók session adatainak ellenőrzése, hogy a felhasználó nevét, aktivitását stb. ellenőriztem, azonban minden különálló oldalon ugyanolyan módon, az oldal elejére beillesztve a kódot. Mivel szeretném áttekinthetőbbé tenni az oldalak kódját, ezért arra gondoltam, hogy kiraknám egy külső fájlba a webrooton kívül, ahonnan a phpval require_once beolvasnám és funkcióként minden oldal elejére helyezném. Két dolog jutott eszembe:
Mi van, ha nem létezik a bekért include? Ekkor automatikusan leáll a php fordítása fatális hibával már a kód elején, tovább nem lehet használni.
Mi van, ha nem létezik a szükséges function? Ebben az esetben szintén fatális hibával le fog állni a php fordító, tovább az oldal nem használható.
A require_once esetében kézzel (saját kódon belül, nem felhasználói input) felvitt útvonallal adom meg a biztonsági ellenőrzést végző függvény fájlját.
Okoz-e biztonsági problémát ez, mire kell figyelnem ezeken kívül?
illetve
Kevésbé lesz-e biztonságos a weboldal, ha ilyen módon történik a felhasználók jogosultság vizsgálata ahelyett, hogy minden oldal elején ugyanaz a kód szerepelne? A function sessiont vizsgál, amit eddig minden oldal eleje tett meg.
Köszönöm a segítséget!
■ Mi van, ha nem létezik a bekért include? Ekkor automatikusan leáll a php fordítása fatális hibával már a kód elején, tovább nem lehet használni.
Mi van, ha nem létezik a szükséges function? Ebben az esetben szintén fatális hibával le fog állni a php fordító, tovább az oldal nem használható.
A require_once esetében kézzel (saját kódon belül, nem felhasználói input) felvitt útvonallal adom meg a biztonsági ellenőrzést végző függvény fájlját.
Okoz-e biztonsági problémát ez, mire kell figyelnem ezeken kívül?
illetve
Kevésbé lesz-e biztonságos a weboldal, ha ilyen módon történik a felhasználók jogosultság vizsgálata ahelyett, hogy minden oldal elején ugyanaz a kód szerepelne? A function sessiont vizsgál, amit eddig minden oldal eleje tett meg.
Köszönöm a segítséget!
szeptember 5
Laravel 5 routing
Sziasztok,
Laravel 5-ben nem jöttem még rá egy routinggal kapcsolatos probléma megoldására, minden segítség jól jönne.
A route fájlok kisebb fájlokra van bontva, minden "csomaghoz" tartozik egy.
Egy /budapest url estén szeretnék olyat, hogy
- először megnézi pl a videók route fájljában, hogy tud-e visszaadni valamit (mondjuk ahol a videó nevében benne van a "budapest")
- ha nincs semmi, akkor megy tovább a képek route fájljába, hogy van-e budapest nevű kép,
- ha nincs, akkor nézi a települések "csomaghoz" tartozó route fájlban, hogy van-e budapest nevű település.
Az url szerkezeten nem tudok változtatni, tehát nem lehet (/kepek/budapest, /videok/budapest).
Ha esetleg egy nagy route fájl lenne, ez pedig a legvégén, akkor is kéne egy nagy callbackbe gányolás...Route fájlokba belegányolni amúgy sem szeretek ilyet, több controllert hívogatni meg fura lenne :)
Vagy esetleg a route-ba adott callback-ben egy exceptiont dobni (vagy return null :), ami után a route listából jönne a következő, így maradhatna szétbontogatva...
Került már valaki ilyen helyzetbe?
Tudtok erre egy -lehetőleg- szép megoldást?
Köszi előre is
■ Laravel 5-ben nem jöttem még rá egy routinggal kapcsolatos probléma megoldására, minden segítség jól jönne.
A route fájlok kisebb fájlokra van bontva, minden "csomaghoz" tartozik egy.
Egy /budapest url estén
Route::get('{url}', .....)
- először megnézi pl a videók route fájljában, hogy tud-e visszaadni valamit (mondjuk ahol a videó nevében benne van a "budapest")
- ha nincs semmi, akkor megy tovább a képek route fájljába, hogy van-e budapest nevű kép,
- ha nincs, akkor nézi a települések "csomaghoz" tartozó route fájlban, hogy van-e budapest nevű település.
Az url szerkezeten nem tudok változtatni, tehát nem lehet (/kepek/budapest, /videok/budapest).
Ha esetleg egy nagy route fájl lenne, ez pedig a legvégén, akkor is kéne egy nagy callbackbe gányolás...
Route::get('{url}', function($url, ImageRepository $imageRepository, VideoRepository $videoRepository, SettlementRepository $settlementRepository) {
// van kép?
$imageRepository->findByUrl($url);
// ha nincs kép
$videoRepository->findByUrl($url);
// ha nincs videó
$settlementRepository->findByUrl($url);
});
Vagy esetleg a route-ba adott callback-ben egy exceptiont dobni (vagy return null :), ami után a route listából jönne a következő, így maradhatna szétbontogatva...
Került már valaki ilyen helyzetbe?
Tudtok erre egy -lehetőleg- szép megoldást?
Köszi előre is
szeptember 4
Mekkora méreteknél érdemes több docker container-be darabolni az alkalmazást?
Mekkora méreteknél érdemes több docker container-be darabolni az alkalmazást?
■ augusztus 23
hangosítás
Tisztelt Cím! A végzettséghez nem kötött vállalkozási tevékenységeknél, de a végzettséghez kötöttnél sem találtam a HANGOSÍTÁS-t. A vállalkozásba szerepel a hangfelvétel készítés. Kérdésem, számlázható-e a hangosítás, vagy milyen tevékenységet kell a vállalkozásba beépíteni. Kösszönöm
■ augusztus 22
Bocsánat kérés, Tatai László
Tisztelt Weblabor közösség.
Bocsánatot szeretnék kérni, mert régebben azt írtam a PHP listára, hogy könnyű programozni, és nehéz fizikai munkát végezni.
Tisztelettel : Tatai László
■ Bocsánatot szeretnék kérni, mert régebben azt írtam a PHP listára, hogy könnyű programozni, és nehéz fizikai munkát végezni.
Tisztelettel : Tatai László
augusztus 20
postfix_spam_spamhaus_rbl
Sziasztok, kérdésem a következő lenne:
Adott egy Ubuntu/Postfix/Amavis/SpamAssasin/Clamav kombó
A spamszűrés részben jó, viszont az RBL restriction-el baj van.
Postfix main.cf rész tartalma:
[CODE]
smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_helo_access regexp:/etc/postfix/helo_access,
check_helo_access regexp:/etc/postfix/blacklist_helo,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname,
reject_unknown_helo_hostname,
reject_rhsbl_helo zen.spamhaus.org,
permit
smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_client_access mysql:/etc/postfix/mysql-virtual_client.cf,
permit_sasl_authenticated,
reject_unknown_client_hostname,
reject_unknown_reverse_client_hostname,
reject_unauth_pipelining,
reject_rbl_client sbl.spamhaus.org,
reject_rhsbl_client dbl.spamhaus.org,
reject_rbl_client b.barracudacentral.org,
permit
smtpd_sender_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_sender_access regexp:/etc/postfix/tag_as_originating.re,
check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf,
check_sender_access regexp:/etc/postfix/tag_as_foreign.re,
reject_unknown_sender_domain,
reject_non_fqdn_sender,
permit
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf,
check_recipient_access mysql:/etc/postfix/mysql-virtual_policy_greylist.cf,
reject_non_fqdn_recipient,
reject_unauth_destination,
reject_unknown_recipient_domain,
reject_non_fqdn_sender,
reject_invalid_hostname,
reject_unknown_sender_domain,
check_client_access ha
Adott egy Ubuntu/Postfix/Amavis/SpamAssasin/Clamav kombó
A spamszűrés részben jó, viszont az RBL restriction-el baj van.
Postfix main.cf rész tartalma:
[CODE]
smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_helo_access regexp:/etc/postfix/helo_access,
check_helo_access regexp:/etc/postfix/blacklist_helo,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname,
reject_unknown_helo_hostname,
reject_rhsbl_helo zen.spamhaus.org,
permit
smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_client_access mysql:/etc/postfix/mysql-virtual_client.cf,
permit_sasl_authenticated,
reject_unknown_client_hostname,
reject_unknown_reverse_client_hostname,
reject_unauth_pipelining,
reject_rbl_client sbl.spamhaus.org,
reject_rhsbl_client dbl.spamhaus.org,
reject_rbl_client b.barracudacentral.org,
permit
smtpd_sender_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_sender_access regexp:/etc/postfix/tag_as_originating.re,
check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf,
check_sender_access regexp:/etc/postfix/tag_as_foreign.re,
reject_unknown_sender_domain,
reject_non_fqdn_sender,
permit
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf,
check_recipient_access mysql:/etc/postfix/mysql-virtual_policy_greylist.cf,
reject_non_fqdn_recipient,
reject_unauth_destination,
reject_unknown_recipient_domain,
reject_non_fqdn_sender,
reject_invalid_hostname,
reject_unknown_sender_domain,
check_client_access ha
Google algoritmus frissítések
Kinek mi a véleménye az egyre gyakoribb Google algoritmus frissítésekről, és ez mennyire befolyásolja a SEO keresőoptimalizálás sikerességét napjainkban ? SEO szakemberek Google csoport
■ augusztus 17
Üzenet
Sziasztok!
Egy olyat szeretnék összehozni, hogy üzenet lehessen küldeni, névvel. Az oldalon egyszerre csak 1 üzenet jelenlen meg és 5 percenként mutassa a következő üzenetet. 1 Személy csak 10 percenként tudjon üzenetet küldeni. Esetleg tudtok linkeket küldeni ami alapján ezt meglehet valósítani?
Köszönöm előre is!
■ Egy olyat szeretnék összehozni, hogy üzenet lehessen küldeni, névvel. Az oldalon egyszerre csak 1 üzenet jelenlen meg és 5 percenként mutassa a következő üzenetet. 1 Személy csak 10 percenként tudjon üzenetet küldeni. Esetleg tudtok linkeket küldeni ami alapján ezt meglehet valósítani?
Köszönöm előre is!
augusztus 14
Felkészülés front-ended interjúra
Sziasztok,
tippeket, ötleteket, könyvcímeket, hasznos tanácsokat szeretnék kérni abban, hogy lehet-e, és ha igen, miből/hogyan készülni egy front-endes interjúra.
A kiírásból az olvasható ki, hogy 2 éves fejlesztői tapasztalat, OOP ismerete és Html5/Css3 alapszintű ismerete szükséges. Előnyt jelent js framework-ök valamint PHP, node.js imseret.
Bármilyen hozzászólást szívesen veszek!
■ tippeket, ötleteket, könyvcímeket, hasznos tanácsokat szeretnék kérni abban, hogy lehet-e, és ha igen, miből/hogyan készülni egy front-endes interjúra.
A kiírásból az olvasható ki, hogy 2 éves fejlesztői tapasztalat, OOP ismerete és Html5/Css3 alapszintű ismerete szükséges. Előnyt jelent js framework-ök valamint PHP, node.js imseret.
Bármilyen hozzászólást szívesen veszek!
augusztus 3
MySQL bonyolódás
Sziasztok!
Kicsit belebonyolódtam. Egy jutalékszámító részleten dolgozom, ami fejtörést okozott.
Adott 3 csomag (id->7,8,9), amit választani lehet a tagságnál. Az ügynök, aki eladja jutalékot kap az üzletből, amit ennek a kódrészletnek kellene kiszámítania. Az első csomag utáni összeget 3 hónapra elosztva kell kifizetni, a többi csomag után járó jutalékot egy összegben. Ezt kell ellenőrizni, hogy jár-e egyáltalán jutalék és, ha igen, akkor mennyi.
Köszi előre is a segítségeket.
[colorer=php]
<?php
//...
$result_bonusz = mysql_query(
'SELECT
*
FROM
mt_merchant
WHERE
year(date_created) = ' . $ev . '
AND
month(date_created) = ' . $ho . '
AND
status="active"
AND
ugynok = ' . $i . '');
$bonusz_row = mysql_fetch_array($result_bonusz);
if ($bonusz_row['package_id'] == 8) {
$bonusz_1 = 30000;
$kifizetheto = 1;
} elseif ($bonusz_row['package_id'] == 9) {
$bonusz_2 = 50000;
$kifizetheto = 1;
} elseif ($bonusz_row['package_id'] == 7) {
$result_bonusz_ell_3 = mysql_query(
'SELECT
merchant_id
FROM
mt_merchant
WHERE
package_id = 7
AND (
date_created BETWEEN (
NOW(), INTERVAL 3 MONTH
) AND (
NOW(), INTERVAL 2 MONTH
)
) AND
status="active"
AND
ugynok = ' . $i .
Kicsit belebonyolódtam. Egy jutalékszámító részleten dolgozom, ami fejtörést okozott.
Adott 3 csomag (id->7,8,9), amit választani lehet a tagságnál. Az ügynök, aki eladja jutalékot kap az üzletből, amit ennek a kódrészletnek kellene kiszámítania. Az első csomag utáni összeget 3 hónapra elosztva kell kifizetni, a többi csomag után járó jutalékot egy összegben. Ezt kell ellenőrizni, hogy jár-e egyáltalán jutalék és, ha igen, akkor mennyi.
Köszi előre is a segítségeket.
[colorer=php]
<?php
//...
$result_bonusz = mysql_query(
'SELECT
*
FROM
mt_merchant
WHERE
year(date_created) = ' . $ev . '
AND
month(date_created) = ' . $ho . '
AND
status="active"
AND
ugynok = ' . $i . '');
$bonusz_row = mysql_fetch_array($result_bonusz);
if ($bonusz_row['package_id'] == 8) {
$bonusz_1 = 30000;
$kifizetheto = 1;
} elseif ($bonusz_row['package_id'] == 9) {
$bonusz_2 = 50000;
$kifizetheto = 1;
} elseif ($bonusz_row['package_id'] == 7) {
$result_bonusz_ell_3 = mysql_query(
'SELECT
merchant_id
FROM
mt_merchant
WHERE
package_id = 7
AND (
date_created BETWEEN (
NOW(), INTERVAL 3 MONTH
) AND (
NOW(), INTERVAL 2 MONTH
)
) AND
status="active"
AND
ugynok = ' . $i .