Hirdetés

IP camera viewer PHP script

Készítettem egy PHP alapú alkalmazást, amivel IP kamerák által FTP-n feltöltött képeket lehet kilistázni generált, User/Password védett weboldalon.

Keresgéltem a neten olyan PHP script után, amit feltölthetek webtárhelyre és az IP kamerák statikus JPG formátumban feltöltött képeit egy generált weboldalon kilistáztathatom és Felhasználónév / Jelszó birtokában megnézhetek, akár mobilon is, anélkül, hogy le kelljen azokat FTP-vel töltenem a szerverről.
Nem találtam egy normális scriptet sem, így nekiálltam szerény PHP tudásommal "összeeszkábálni" egyet. Tudom 90-es évekbeli design és spagetti PHP kód, de a funkcionalitását betölti úgy ahogy az nekem megfelelő.
Abban a reményben mutatom be nektek, hátha egy (vagy akár több) hozzáértőbb PHP fejlesztő forkolja és tovább fejleszti. Nekem is vannak még ötleteim a továbbfejlesztésre, de sok időm nincs rá, de azért szép lassan haladok vele. Viszont egy több fejlesztő által reszelt kód gyorsabban fejlődne.

PHPPOT User Login működése

Egy egyszerű PHP alapú felhasználó beléptetőrendszer file-jainak elemzése. Főleg magam részére, de publikusan, hátha másnak is hasznos lesz ez a leírás, esetleg ez alapján jobban megérti, hogyan is működik egy ilyen beléptető rendszer. Egyszerűsége végett könnyű megérteni a működését kezdő PHP-vel ismerkedők számára is.

1. /view/login-form.php
<html>
<head>
<title>User Login</title>
<link href="./view/css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div>
<form action="login-action.php" method="post" id="frmLogin" onSubmit="return validate();">
<div class="demo-table">

<div class="form-head">Login</div>
<?php
if(isset($_SESSION["errorMessage"])) {
?>
<div class="error-message"><?php echo $_SESSION["errorMessage"]; ?></div>
<?php
unset($_SESSION["errorMessage"]);
}
?>
<div class="field-column">
<div>
<label for="username">Username</label><span id="user_info" class="error-info"></span>
</div>
<div>
<input name="user_name" id="user_name" type="text"
class="demo-input-box">
</div>
</div>
<div class="field-column">
<div>
<label for="password">Password</label><span id="password_info" class="error-info"></span>
</div>
<div>
<input name="password" id="password" type="password"
class="demo-input-box">
</div>
</div>
<div class=field-column>
<div>
<input type="submit" name="login" value="Login"
class="btnLogin"></span>
</div>
</div>
</div>
</form>
</div>
<script>
function validate() {
var $valid = true;
document.getElementById("user_info").innerHTML = "";
document.getElementById("password_info").innerHTML = "";

var userName = document.getElementById("user_name").value;
var password = document.getElementById("password").value;
if(userName == "")
{
document.getElementById("user_info").innerHTML = "required";
$valid = false;
}
if(password == "")
{
document.getElementById("password_info").innerHTML = "required";
$valid = false;
}
return $valid;
}
</script>
</body>
</html>

Be akarnak perelni egy kép oldalba ágyazása miatt

Jó reggelt! Itt a friss kávé 🍵!

Ja? Nem. Ez a kávé igazából itt sincs! Gondoltad volna? Ugyanis ez a kávé a Prohardverre a Wikipédia szerveréről hosztolódik ide. A Wikipedia szerverén található maga a képfájl, én csak egy html kóddal (IMG) illesztettem be ide, így a kép beágyazott módon itt is megjelenik. Akárcsak mintha itt lenne. De nincs itt. Csak illúzió, hogy itt van.
Mi lenne, ha most a kép készítője ide jönne fenyegetőzni, hogy azonnal szedjem le, mert beperel engem és a Prohardvert is, mert ez a kép ide egy HTML kód segítségével megjelenítésre kerül, anélkül, hogy magát a képfájlt lemásoltam vagy sokszoroztam volna.
Mégis megtörtént a nonszensz! Nem a kávéval, hanem egy másik képpel, de ez a lényegen nem változtat. Bírósági eljárással fenyeget a kép szerzője. Miután vázoltam neki, hogy én az adott képet nem másoltam, nem szerkesztettem, nem vagyok semmilyen jogsértés elkövetője, forduljon a képet hosztoló és eredetileg tárhelyén tároló weboldal tulajdonosához, hosting szolgáltatójához. Erre fel mindenféle technohalandzsa előadása mellett (Például hogy valami login oldal rögzítette az IP-m és meg van neki. Fogalmam sincs amúgy, hogy miről beszél. Nem jártam semmilyen login oldalon) előadta, hogy én már pedig tolvaj vagyok, mert az otthagyott kocsit sem viszik el az útszéléről. (Há Nórmális? Margit! 😃)
Mindezek figyelembe vételével a képet nem távolítottam el. (Egy fórum kommentbe lett egyébként beillesztve, tehát mégcsak nem is anyagi haszonszerzés céljából).
A felszólító levélben megjegyezte, hogy a kép jogvédelem alatt ál, amiről persze semmilyen igazoló dokumentumot nem küldöt, sem egy árva szerzői jogbavételt igazoló lajstrom számot nem adott meg.
Amúgy én még pusztán jófejségből is leszedtem volna a képet, de mivel már az első levelével egy agresszív, az ördög ügyvédjét is kenterbeverő jogi blablával indított, majd mindenféle technohalandzsával és további fenyegetőzésekkel folytatta, így már csak elvi okokból sem szedem le. Ilyen alapon az internetezők millióit lehetne köztörvényes bűnözőként bíróság elé citálni. Hát pedig ebből nem eszik. Mert, ha én most ennek engedek, akár bátorságot kaphat, hogy más emberekkel, is meg tegye az ilyesmit, akik esetleg meg is ijednek tőle.
Így már alig várom a pert, szegény nagyon el fogja veszteni. 🙂

JQuery tartalom refresher reloader

JQuery alapú div content refresh.
A kód a "here" ID-vel ellátott div tartalmát frissíti (ha van a fájlban változás) a click linkre kattintva, az egész oldal frissítése nélkül.

<html>
<head>
<!-- JQ CDN -->
<script src="https://code.jquery.com/jquery-3.4.1.js" integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU=" crossorigin="anonymous"></script>
</head>
<body>


<div id="here">
1111111111111111111111111111

</div>
0<br />
<a href="javascript:void(0);" id="refresh">click</a>

<script>
$(function() {
$("#refresh").click(function() {
$( "#here" ).load(window.location.href + " #here" )

})
});

</script>

</body>
</html>

Wordpress current user registration date

Ez a kód kiírja az aktuálisan belépett user regisztrációjának idejét.

<?php
$user_info = wp_get_current_user(); // Get logged in user info
$registered = $user_info->user_registered;

echo $registered;
?>

Wordpress current user post count

Ez megjeleníti az aktuális user bejegyzéseinek számát, ott ahová ez beszúrásra került a sablonba.
Képes kiszűrni, hogy vendégfelhasználó e az illető. Neki nem jelenít meg semmit.
$current_user változónak egy User ID-t is megadhatunk. Ilyenkor ez a lekérés mindenkinek ugyanazon user össz bejegyzés számát mutatja meg.

<?php
$current_user = wp_get_current_user();
if ( 0 == $current_user->ID ) {
// Not logged in.
} else {
echo count_user_posts( $current_user->ID );
}
?>

PHPBB 3.2.5 kiterjesztés és alap fájl módosítás napló

Itt vezetem publikusan a PHPBB fórumrendszerben és az ahhoz kapcsolódó kiterjesztésbeekben történt alap beállításoktól eltérő változtatásaimat, hogy a későbbiekben is meglegyen, illetve hogy másoknak is hasznára lehessen.

Verziószám : 3.2.5
/phpbb = A phpbb gyökérkönyvtárát fogja jelölni

1. Privát üzenet értesítés default ON az újonnan regisztrálóknak:

/phpbb/includes/functions_user.php 364. sor csere erre:
if ($notifications_data === null)
{
$notifications_data = array(
array(
'item_type' => 'notification.type.post',
'method' => 'notification.method.email',
),
array(
'item_type' => 'notification.type.topic',
'method' => 'notification.method.email',
),
array(
'item_type' => 'notification.type.pm',
'method' => 'notification.method.email',
),
);
}

HTACCESS 301 ALL REDIRECT

Ezt a kódot egy .htaccess fájlba bemásolva és feltöltve a weboldal gyökérkönyvtárába a teljes oldal átirányítható egy új domainre, úgy hogy az a linkeket is követi. Pl. regidomain.com/oldal.html ---> ujoldal.com/oldal.htm stb stb

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ https://peldadomain.com/$1 [R=301,L]
</IfModule>

Dovecot frissítés utáni ssl hiba

Debian 9-ről, Debian 10-re történő váltás esetén az alábbi és ehhez hasonló hibaüzenetek kezdenek el gyűlni a mail.err logfájlban
dovecot[9278]: imap-login: Error: Failed to initialize SSL server context: Can't load DH parameters: error:1408518A:SSL routines:ssl3_ctx_ctrl:dh key too small: user=<>, rip=xxx, lip=xxx, session=<45XeyQGEZOzOSmkw>

A megoldás egy egyszerű sor beszúrása a dovecot.conf fájlba:
ssl_dh = </usr/share/dovecot/dh.pem

Amavis D Controll [notes]

Add file:
/etc/amavis/conf.d/90-custom

with this content:

Code:
use strict;

#
# Place your configuration directives here. They will override those in
# earlier files.
#
# See /usr/share/doc/amavisd-new/ for documentation and examples of
# the directives you can use in this file
#

$max_servers = 1;

#------------ Do not modify anything below this line -------------
1; # insure a defined return
and then restart amavis.

in postfix master.cf, change the line:

amavis unix - - - - 2 smtp

to:

amavis unix - - - - 1 smtp

and restart postfix.