Jump to content
php.lv forumi

Roze

Administratori
  • Content count

    1558
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Roze

  • Rank
    Neatkarīgais eksperts
  • Birthday 06/07/82

Contact Methods

  • Website URL
    http://roze.lv
  • ICQ
    19997701
  1. LV drosiba

    d*.lv ir kas?
  2. Šķiet, ka visur samainīju .. ja kaut kur vēl rādās vai taisni otrādi - vajag tomēr to "balsošanu" - sakiet ..
  3. LV drosiba

    Ja nu varbūt kaut kas ir mainījies pēdējā gada laika, tad savādāk un apsveicami, bet pirms kāda laika pirmie divi gadījumi attiecās tikai uz valsts informācijas sistēmām ( https://www.visr.eps.gov.lv/ ) .. Ne-valstiskajām (privāt/juridisku personu) IS kamēr nav pierādāms materiālais kaitējums neviens virsū tavam pieteikumam/incidentam īpaši neskatās / labākajā gadījumā CERT atsūta īsu e-pastu ar rekomendācijām tālākai individuālai darbībai . Pēc pieredzes ..
  4. Ir jā, bet .. IPB eksistē vairāki foruma veidi Discussions un Questions pirmais ir tipa parastais / otrais ir kur it kā tēmas uzsācējs uzdod jautājumu, tad kāds atbild un pārējie vēl papildus var vertēt tās atbildes un tad viņas kārtojas pēc tā. Bet nu cik šķiet to var nomainīt tikai foruma settingos un nekādi lietotāja settingi to neoverraido (vismaz neesmu redzējis nekur), kā arī, cik izskatās, nesaglabājas tas, ja manuāli norādā Sort by .. Man personīgi patīk standarta variants bez kaut kādas balsošanas, attiecīgi vislaik jāspaida uz 'Date', kā citiem - nezinu ... Varbūt jauztaisa foruma aptauja, tad paskatīties par ko nobalso vairākums un tad var pārslēgt vai atstāt kā ir.
  5. Programmēšanas skola

    Tas, ka mācību iestāde meklē mācībspēkus (piesaistot lektorus no uzņēmumiem) arī pastāvēšanas/uzsākšanas laikā nu gan obligāti nenorāda, ka kaut kas ir "skečīgs". Var, protams, apsvērt/diskutēt vai tāda skola var piešķirt kaut kādu atzītu izglītības kvalifikāciju dokumentāli (jo nu gan skolotājam (profesijai), gan mācību programmai ir zināmi noteikumi), bet savā ziņā var pat no vienas puses uzskatīt, ka tas ir ļoti labi, jo nu tāpat var būt arī otra galējība, proti, ja cilvēks mācību iestādē ir bakstījies 30 gadus, ir liela iespēja, ka viņa akadēmiskās zināšanas (īpaši saistībā ar darba tirgus vajadzībām/tendencēm) ir novecojušas attiecībā pret to "figņu", kas mūsdienās darās IT jomā.
  6. Segmentation fault (core dumped)

    Crasho tikai Oracle skripti? Jo nu ir it kā: https://bugs.php.net/bug.php?id=71708 https://bugs.php.net/bug.php?id=71600 Proti tur tā, ka php randomly crasho, ja Oracle atgriež vairāk kā 8 rowus. Tam bugam gan vajadzētu būt safixētam tavā norādītajā versijā ..
  7. Segmentation fault (core dumped)

    Es no konsoles pačekotu 'php -i | grep opcache.enable_cli' vai tiešām ir off. Reizēm distributīvu php packagos web un cli konfigurācijas ir nodalītas (vai includējas no dažādam vietām) un attiecīgi tas kas izspīdinās webā zem <? phpinfo(); ?> atšķiras no tā ko dabū cron lietotājs. Var pamēģināt pamainīt kādu cronu 'php -d opcache.enable_cli=0 izpildamais_fails.php' un paskatīties vai nepalīdz. Jo nu savādāk tā jocīgi ..
  8. Segmentation fault (core dumped)

    7.0 vai 7.1? Tāds vispārīgs ieteikums pačekot vai CLI modei nav eneiblots (noklusēti ir) Opcode cache (proti vai php.ini (php-cli.ini) ir opcache.enable_cli = 0)
  9. stored procedure

    Storētās procedūras ir vienkārši papildus "slānis" (layer), kas ļauj izveidot interfeisu/API sistēmām un risinājumiem, kur tas ir nepieciešams (lai nodrošinātos kaut vai pret tiem pašiem programmētājiem) :) Proti, piemēram, lasot komentāru "Kodā noteikti arī vieglāk ir veikt izmaiņas, versionēt, deployot." .. ir skaidrs, ka ik pārdienu ir vēlme (vai nu vienkārši tāds darba/organizācijas stils) mainīt kaut kādus pieprasījumus (SQL), kas reizēm rada ļoti neprognozējamas sekas un citas ķeskas. Ar procedūrām ir iespējams panākt konkrētu API / prognozējuma risinājuma, produkta darbību un un DBA nav jāsatraucas un jānodarbojas ar zinātnisko pētniecību, ja pēkšņi DB serveris deg zilām liesmām tikai tāpēc, ka kaut kur kodā iesprausts pieprasījums, kas neizmanto indeksus, atgriež miljoniem ierakstu vai ko tamlīdzīgu . Arī no drošības viedokļa, pretēji tam lai dotu pilnas piekļuves visiem (izstrādātājiem / aplikācijai), standarta SQL vietā var definēt konkrētas procedūras/funkcijas datu apmaiņai. tāpat iespējams "neuzticēties" aplikācijai ar ievad/izvaddatu apstrādi (izvairīties no SQL "injectiem"). Tīri no tehniska viedokļa - iespējams ietaupīt nedaudz resursus.(cpu/trafiks) proti, pretēji tam lai aplikācija katru reizi sūtītu gigantisku kveriju, kas SQL serverim ir jāsaņem / jāpārsē utt, var veikt procedūras izsaukumu ar parametriem un viss pārējais notiek servera pusē (protams, tas reizē arī ir mīnuss - DB serveri/risinājumi parasti skeilojas sliktāk nekā aplikāciju frontendi).
  10. Darbs pavēlā vecumā un uztaisītie darbi.

    Nu ja ir vēlme saistīt darbu ar IT, tad kaut kādai iekārtai tomēr pie rokas jābūt, taču nu mūsdienās jau ir visas tehnoloģiskās iespējas (darba dienai pietiekams baterijas laiks, visādi bezvadu tīkla pārklājumi, attālinātas piekļuves (VPN u.c)) lai obligāti cilvēkam nebūtu jāpiesienas pie vienas stacionāras iekārtas t.i. izņemot uzņēmuma un paša nostāju/politiku nekas cits īsti netraucē sēdēt pļavā zem ābeles ar tjapļapu :) Bet nu tā idejiski nākošais solis droši vien ir kaut kāda "vadība" - grupas / projektu / uzņēmuma un, ja vien cilvēks nav totāli antisociāls elements, nedomāju ka tam nepieciešami lieli līdzekļi lai apgūtu komunikāciju prasmes (manuprāt, tās vienkārši veidojas pašas no sevis dažādās situācijās (labās/sliktās) un praktiskās darbošanās rezultātā).
  11. Forum ?cat=2&scat=2 jump top

    Ja es pareizi saprotu vēlmi, tad tāds pavisam vienkāršs veids kā automātiski scrollēt uz noteiktu vietu lapā ir izmantojot 'anchorus'. Proti konkrētam elementam vajadzīgajā pozīcijā lapā pieliek name="kautkas" atribūtu (vai id) un attiecīgi linku veido "&scat=2#kautkas" ( http://www.rapidtables.com/web/html/link/html-anchor-link.htm ) Ja doma ir par subkategorijas ielādi bez pilna lapas refreša, tad būs jāskatās uz Ajax.
  12. Nē es to biju domājis tā - pretēji tam, lai dotu tiesības uz 'python', kas principā ļauj caur valodu/interpretatoru darbināt jebko citu ar root privilēģijam, to dara apmēram šādi: 1. Uztaisa shell skriptu blabla.sh, kurā ir iekšā 'python tavsvails.py' (faktiski shellskripta vietā var izmantot arī pašu .py failu, ja viņam sākumā norāda caur ko tas jādarbina (piem. #!/usr/bin/python)) 2. Pārliecinās, ka konkrētajam lietotājam nav rakstīšanas tiesības failā (visvienkāršāk, piemēram, ir izveidot (vai nomainīt) ar root lietotāja un uzlikt chmod 700) 3. sudoers failā ieliek tikai šo .sh vai .py skriptu, tādējādi nav īpaši tālāk jādomā vai konkrētais lietotājs tīši vai netīši spēj palaist kaut ko vēl, kas viņam nepienākas .. Šis protams vairāk būtiski kaut kādās vairāklietotāju vidēs, bez tam mūsdienās modernāka pieeja ir darbināt šādas "aplikācijas" virtualizēt izolētos konteineros, piemēram, docker, LXC u.c. kur tu vari mierigi aplikāciju darbināt procesus kaut vai zem root lietotāja īpaši neiespringstot, ka tie var ietekmēt pamatsistēmu (protams, tur atkal iespējamas citas ķeskas ar tiešu piekļuvi hardwarei (šajā gadījumā sensoriem)). Vārdu sakot, tikai pārdomas par tēmu .. p.s. es piekrītu arī šeit izteiktajam viedoklim ka Tavā gadījumā būtu labāk: 1. darbināt to skriptu no tā paša 'pi' lietotāja un izvades datus vienkārši ierakstīt kādā teksta failā - ja pietiek, ka tas updeitojas ne biežāk kā 1x minūtē, tad var caur cron, ja vajag biežāk, tad var palaist fonā (./skripts.sh &) vienkārši bash skriptu ar while loopu un sleep timeoutu, piem.: #!/bin/bash while [ 1 ]; do sudo python /home/pi/Adafruit_Python_DHT/examples/AdafruitDHT.py 2302 12 > /var/www/sensor.txt sleep 5 done 2. No php lasīt tikai konkreto teksta failu Tādējādi nebūs nepieciešams ņemties un dot apaches lietotājam kaut kādus sudo utt, kā arī var labāk kontrolēt piekļuvi sensor datiem/atmiņai utt, proti nav iespējams variants ka atver http lapu, uzliek pirkstu uz F5 un Pi nokaras tāpēc, ka dzīvajā palaisti ziljons sudo python skripti, kas visi mēģina bakstīt sensoru.
  13. Šobrīd tu esi atļāvis www-data izpildīt sudo python, kas no drošības viedokla nav diezko labi (protams, ja uz kastes nav citu lietotāju, kā arī nav publiska, tad pofig), bet nu ideja ir apmēram tāda, ka šadi www-data var palaist python, kas savukārt var izpildīt jebko ar root permisijām: sudo python -c 'import os;os.system("ls -la")' (drošības labad, lai kāds nepamēģina, nerakstīju 'rm -rf /') Attiecīgi nedaudz labāk būtu, ja nodzēstu to komatu starpā, bet šo parasti risina vai nu sudoers taisot Cmd_aliasus vai arī piemēram uztaisot .sh skriptu, kas satur konkrēto komandu un kuram ir tikai read/exec bet ne write tiesības konkrētajam lietotājam.
  14. Šāda konfigurācija manuprāt neko nedod (ja vien nav nepilnīgi iekopēta), jo nenorāda komandu(-as), kuras ļauts izpildīt. Varbūt testiem tad var ielikt vienkārši: www-data ALL=(ALL) NOPASSWD: ALL kas ļautu www-data izpildīt caur sudo jebko (nav īpaši labi no drošības viedokļa, bet to var pēc tam mainit brīdī ja vispār kaut kas sāk darboties). Nu varbūt tad jāsāk ar vienkāršākām lietām, piemēram, skatīties vai php var palaist pythonu vispār (jāņem vērā ka www-data var būt noshell lietotājs (var noskaidrot paskatoties /etc/passwd vai nav kaut kāds /sbin/nologin vai /bin/false vai arī no root lietotāja izpildot 'su www-data'), kam nav definēti PATH utt) Piemēram, vai izpildās no weba php ar kaut ko šādu? <?php passthru('python --version'); ?> Ja nē, tad nepieciešams pilns path uz python executabli. Tad var pamēģināt patestēt vienkārši no konsoles vai zem www-data iespējams izpildīt : su www-data -c "python /var/www/Adafruit_Python_DHT/examples/AdafruitDHT.py 2302 12" vai sudo -u www-data python /var/www/Adafruit_Python_DHT/examples/AdafruitDHT.py 2302 1 utt
×