Sivut

torstai 3. marraskuuta 2016

Seurataan julkisen IP osoitteen vaihtumista



Tässä on melko lopullinen PHP koodi, joka seuraa IP -osoitteen vaihtumista julkisessa verkossa. Tämä koodi tallentaa aikaisemman IP -osoitteen ja vertaa sitä uuteen vastaavaan. Muutoksesta ilmoitetaan.

Asenna tämä scripti web -palvelimelle ja laita se Cron -taulukkoon,
niin saat joka aamu uuden raportin IP -osoitteesta tai sen vaihtumisesta.

<?php
// https://www.ipify.org/
// Check Public IP Address

define('TIMEZONE', 'Europe/Helsinki');
date_default_timezone_set(TIMEZONE);
$thisDate = date('d-m-Y H:i');

// Get current Public IP address
$n_ip = file_get_contents('https://api.ipify.org');

// Current IP address in file and last modified
$ip_file = 'ip_addr.txt';
$fileDate = date('d-m-Y H:i', filemtime($ip_file));

// Get IP address from file
$content = file_get_contents($ip_file);
$ip_array = explode("\n", $content);
$c_ip = strtok($ip_array[0], '@');

// Compare Public address and fileaddress
if(strcmp($n_ip, $c_ip) == 0) {
    // No change!
    echo "Public IP address has remained the same: " . $c_ip . "@ Last changed: " . $fileDate . "\n";
} else {
    // Write NEW IP address to file
    $content = $n_ip . "@ " . $thisDate . "\n";
    file_put_contents($ip_file, $content);
    echo "Public IP address has changed: <b>" . $n_ip . "</b>@ " . $thisDate . " Last changed: " . $fileDate . " \n";   
}

?>

Avain tietokoneeseen


Avain tietokoneeseen.

Onhan se ollut jo monessa palvelimessa mukana. Eli kone ei lähde käyntiin eikä sammu ilman avainta. Mutta entäpä täydellinen käynnistymisen ja tietomurtojen estävä avain? ORWL on sellainen. Jos sen yrittää ohittaa ilman omaa avainta, niin se tuhoaa tiedot tietokoneelta eikä rosvo saa käsiinsä kuin tyhjän koneen.

Siihen tietysti tarvitaan hieman älyä, salausta ja koodia. ORWL on avointa koodia. Niin koodia! Sillä sillä koodiakin siihen tosiaan tarvitaan, ei pelkkää fyysistä avainta. Tietysti kysymys kuuluu: onko tällaiseen suojaukseen tarvetta? Minusta tietyissä palvelimissa on.

-- oo -- 
 
ORWL basic specs include Intel Skylake M3 processor, USB-C & micro HDMI ports, 8GB memory, 120GB Solid State Drive, Bluetooth, Wifi and NFC technology. Currently it supports Ubuntu 16.04, Qubes OS and Windows 10 out-of-the-box.
All you need is a monitor, keyboard and mouse to get started.
ORWL is Open Source - ORWL is totally open source.
It means that the schematic and layout files, software, firmware,
everything is up for grab if anyone wants to make one themselves or make improvements.

Log Reportico Use Count



Tässä PHP koodi, jolla voidaa laskea ja kirjata lokiin Reportico käytäjien määrä.

<?php
/*
 * Remember to remove <?php ?> tags when include Reportico
 *
 */

define('TIMEZONE', 'Europe/Helsinki');
date_default_timezone_set(TIMEZONE);

$dbfile = 'reports_all.db';
$cur_ip = getIP();
$name = "Report name";
$created = date('d-m-Y H:i:s');

if (file_exists($dbfile)) {
    $data = seekLastLine($dbfile);
    $count = (int)strpbrk($data, "0123456789");
    $count = $count + 1;
    $out = sprintf("%04d", $count);
    $data = $out . " : " . $cur_ip . " : " . $name . " : " . $created . "\n";
    $fh = fopen($dbfile, "a+");
    fwrite($fh, $data);
}
else {
    $fh = fopen($dbfile, "w");
    $data = "1 : " . $cur_ip  . " : " . $name . " : " . $created . "\n";
    fwrite($fh, $data);
    fclose($fh);
}

function seekLastLine($f) {
    $f = escapeshellarg($f); // for the security concious
    $line = `tail -n 1 $f`;
    return $line;
}

function getIP() {
  if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  elseif(isset($_SERVER['REMOTE_ADDR'])) $ip = $_SERVER['REMOTE_ADDR'];
  else $ip = "0";
  return $ip;
}
?>

Facebook editorin toimimattomuus



Olenko minä ainut tällä planeetalla, jolla Facebook editori ei hyväksy tavallista Liitä - Liimaa - Askartele toimintoa? Eli Copy - Paste tai Kopioi - Liitä?

Nimittäin, yritän kopioida tekstiä jostakin toisesta dokumentista. Vaikka Word, Writer, Kate tai toiselta www -sivulta.  Poikkeuksetta käy niin, että kun liitän tekstin Facebook editoriin ja haluan Julkaista tai Tallentaa tekstin, niin Facebook editori menee sekaisin ja ilmoittaa, että julkaisu näyttää olevan tyhjä! Kirjoita jotakin!


Ja minähän kirjoitan ja haluan liittää sitaatin toisesta kirjoituksesta - omastani - ja taas sama juttu.

Hetken jo luulin, että vika oli muotoiluissa. Otin sitten käyttöön aivan tavalliset tekstieditorit: Nano ja Gedit sekä Windows puolella Notepad.
Jotka eivät lisää tekstiin ja tiedostoon mitään muotoiluja.

Kierrätin tekstin näiden editoriohjelmien kautta ja poistin kaikki muotoilut.

Sama juttu! Ei vaan toimi.

Olen kokeillut kaikkea: Hiirellä Copy ja Paste, näpäimistöllä Ctrl-C ja Ctrl-V sekä harvemmin tunnettu vanha konsti Ctrl-Ins ja Shift-Ins


Tietääkö kukaan Facebook moderaattori ratkaisua tähän ongelmaan?

Yksi tai kaksi, mitkä tulevat mieleeni, ovat nämä rivinvaihdot.
- next line ("\n") tarkoittaa Unix ja Linux koneissa rivin vaihtoa
- next line ja carriage return yhdessä ("\nr\cr\") ovat pelkästään Windowsille varattu muoto
- sitten on vielä merkistön koodaus. Voiko sillä olla vaikutusta.
Itse käytän UTF-8 Unicode muotoa

Mutta jos kopiointi tehdään sellaisen editorin kautta, joka ei tiettävästi lisää mitään muotoiluja sisältöönsä, niin miksi näin käy?