W Codeigniterze (a właściwie w samym php) występuje pewien problem z apostrofami jeśli są zapisywane w bazie i ponownie wyświetlane w polu input w formularzu.
Jako przykładu użyję pola Model w bazie Samochody.

Zobacz całość
a2enmod rewrite echo ServerName localhost >> /etc/apache2/apache2.conf
vim /etc/apache2/sites-enabled/000-default
<Directory /var/www/> ... AllowOverride FileInfo ... </Directory>
/etc/init.d/apache2 restart
Register on realvnc.com and activate your account
Download VNC Connect
https://www.realvnc.com/en/connect/download/vnc/linux/
Run VNC Server:
/etc/init.d/vncserver-x11-serviced start
Run Licensing Wizard and login with your realvnc.com account
vnclicensewiz
To autorun VNC Server on boot use this:
sudo update-rc.d vncserver-x11-serviced defaults
Zobacz całość
Nie jest to idealne rozwiązanie ale działa.
1. Należy stworzyć wolumen na który będziemy zapisywać obraz dysku źródłowego. Wolumen ten powinien być conajmniej tej samej wielkości do dysk źródłowy.
lvcreate -n transfer_disk -L 200G xenvms
2. Podłączamy ten dysk do wirtualki, którą chcemy zmigrować i bootujemy ją z live-cd
Zobacz całośćSkrypt blokujący adres IP do 3 nieudanych próbach logowania.
1. Dodajem akcję logowania "zlylogin"
System -> Logging -> [Actions] -> [+] Name: zlylogin Type: memory
System -> Logging -> [Rules] -> [+] Topics: critical, system, error Action: zlylogin
Domyślnie po restarcie serwera XEN maszyny wirtualne nie startują automatycznie.
Aby to się udało należy zrobić linki symboliczne (ln -s) do configów poszczegółnych maszyn wskazujące na katalog /etc/xen/auto (musimy go utworzyć).
mkdir /etc/xen/auto
Jeśli chcemy przekierować wszystkie configi z katalogu, wystarczy zastosować taki symlink:
ln -s /etc/xen/ /etc/xen/auto
Natomiast jeśli chcemy uruchomić tylko poszczególne maszyny, należy to zrobić osobno dla każdego configa:
ln -s /etc/xen/MY_DOMU_GUEST_1.cfg /etc/xen/auto/ ln -s /etc/xen/MY_DOMU_GUEST_2.cfg /etc/xen/auto/
Cała konfiguracja autostartu jest opisana w pliku:
/etc/default/xendomains
XENDOMAINS_RESTORE=true XENDOMAINS_AUTO=/etc/xen/auto
Źródło: https://askubuntu.com/questions/196444/how-do-i-auto-start-xen-guests-on-boot
Plik konfiguracyjny z wirtualką Windows 7 na XEN
kernel = '/usr/lib/xen-4.8/boot/hvmloader' builder = 'hvm' vcpus = '1' memory = '2048' shadow_memory = 8
localtime = 1 # Disk device(s). disk = [ 'file:/xen/ISO/win7_Pro_SP1_x64.iso,hdb:cdrom,r', 'phy:/dev/xenvms/win7,xvda,w' ] boot = "dc" # Hostname name = 'awin7' # Networking vif = [ 'mac=00:11:22:33:44:55,bridge=xenbr0' ] vnc=1 vncconsole=1 vncpasswd='password' vncunused = 1 vnclisten = '192.168.1.1'
stdvga = 0 serial = 'pty' usbdevice = 'tablet' # Required for USB mouse ## Behaviour
on_shutdown = 'destroy' on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart'
Domyślnie w UTF-8 sortowanie ustawia literę "Ł" na końcu listy.
Aby to zmienić należy zmienić COLLATION przy ORDER BY na 'utf8_polish_ci'.
Zmiany należy dokonać w pliku:
system/database/DB_query_builder.phg
było
$qb_orderby[] = ($direction === '' && preg_match('/\s+(ASC|DESC)$/i', rtrim($field), $match, PREG_OFFSET_CAPTURE))
? array('field' => ltrim(substr($field, 0, $match[0][1])), 'direction' => ' '.$match[1][0], 'escape' => TRUE)
: array('field' => trim($field), 'direction' => $direction, 'escape' => TRUE);
ma być
$qb_orderby[] = ($direction === '' && preg_match('/\s+(ASC|DESC)$/i', rtrim($field), $match, PREG_OFFSET_CAPTURE))
? array('field' => ltrim(substr($field, 0, $match[0][1])), 'direction' => ' '.$match[1][0], 'escape' => TRUE)
: array('field' => trim($field), 'direction' => 'COLLATE utf8_polish_ci '.$direction, 'escape' => TRUE);
WAŻNE! Nie działa jeśli sortujemy liczby!
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer
java -version
Źródło: https://stackoverflow.com/questions/30177455/moving-from-jdk-1-7-to-jdk-1-8-on-ubuntu
Napisana nazwa:
![]()
Nazwa przy edycji:
![]()
Przy zapisaniu takiego rekordu tworzy się jeszcze większy bałagan.
Aby uniknąć takie sytuacji należy przy edycji podać jako atrybut "value":
value=<?php echo html_entity_decode($nazwa, ENT_QUOTES, 'UTF-8');?>"
Wtedy po zapisaniu rekordu ampersant nadal będzie "&" zamiast "&".
Jeden z prostszych skryptów z zadeklarowaną nazwą pliku
System -> Scripts -> [+]
Name = "autobackup"
Source
:local ts [/system clock get time]
:set ts ([:pick $ts 0 2]."_".[:pick $ts 3 5]."_".[:pick $ts 6 8])
:local ds [/system clock get date]
:set ds ([:pick $ds 7 11]."_".[:pick $ds 0 3]."_".[:pick $ds 4 6])
:local fname ("BACKUP-".[/system identity get name]."-".$ds."-".$ts)
:local sfname ("/".$fname)
/system backup save name=($sfname.".backup")
/export file=($sfname.".rsc")
Następnie należy dodać skrypt do Schedulera
System -> Scheduler -> [+]
Name = "autobackup" Interval ="1d 00:00:00" On Event /system script run autobackup
Zobacz całość
Aby włączyć automatyczną kopię zapasową przyrostową na komputerach i serwerach z windowsem należy:
1. Zainstalować SyncToy
https://www.microsoft.com/en-us/download/details.aspx?id=15155
Zobacz całość
Snake SSH
ssh sshtron.zachlatta.com
Star Wars telnet
telnet towel.blinkenlights.nl
Mapa Świata w ASCII
telnet mapscii.me
/ip dhcp-server export file=leaseConfiguration.txt
Konfigurowanie połączenia VPN za pomocą L2TP IPsec do routera Mikrotik.
1. Instalujemy wymagane paczki:
sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp #ubuntu 20.04 aptitude update sudo apt-get install openswan xl2tpd l2tp-ipsec-vpn
2. Uruchamiamy managera połączeń VPN
L2tpIPsecVpn
3. Dodajemy nowe połączenie VPN.
Zobacz całośćZestawianie połączenia VPN przez L2TP + IPsec.
Wariantów jest kilka ale przedstawię mój ulubiony.
1. Uruchamiany server DHCP dla bridge'a do którego mamy podłączone wszystkie urządzenia w sieci.
Tworzenie bridge, przypisywanie adresu i instalacja DHCP jest omówiona w poprzednim poście:
http://blog.cssoft.pl/post/mikrotik-base-config
2. Tworzymy Profil użytkownika VPN.
PPP -> [zakładka] Profiles -> [+] -> -> Name: "users_vpn" -> Local Address: 192.168.1.100 //adres naszego mikrotika -> Remote Address: dhcp-pool //można też wpisać statyczny adres lokalny i zdalny
-> OK
Zobacz całość
Aby zablokować ruch multicastów na danym porcie należy:
1. Upewnić się, że port wychodzący i przychodzący są połączone w jednym bridge'u.
Bridge -> [zakładka] Ports -> {ether1,ether2}
2. Dodać filtr w Bridge'ach blokujący pakiety przychodzące i wychodzące.
Bridge -> [zakładka] Filters -> [+] -> -> Chain: forward -> Interfaces -> In. interface: ether2 -> [zakładka] Advanced -> Packet type: multicast -> [zakładka] Action -> Action: block
Bridge -> [zakładka] Filters -> [+] -> -> Chain: forward -> Interfaces -> Out. interface: ether2 -> [zakładka] Advanced -> Packet type: multicast -> [zakładka] Action -> Action: block
Export z mikrotika
/interface bridge
add name=bridge_LAN
/interface bridge filter
add action=drop chain=forward in-interface=\
ether2 packet-type=multicast
add action=drop chain=forward out-interface=\
ether2 packet-type=multicast
/interface bridge port
add bridge=bridge_LAN interface=ether1
add bridge=bridge_LAN interface=ether2
http://u-to-l.blogspot.com/2012/06/dealing-with-multicast-traffic-on.html
Należy:
1. Dodać interfejs wlan1 do bridge1:
Bridge -> Ports -> [+] -> -> Interface -> wlan1 -> Bridge -> bridge1 -> OK
2. Ustawić hasło do sieci
Wireless -> [zakładka] Security Profiles -> [przycisk] "+" ->
-> Name -> "WLAN pass" -> WPA PSK -> [uncheck] -> WPA2 Pre-Shared-Key -> "supertajnehaslo"
-> OK
3. Ustawić tryb pracy i nazwę sieci (SSID):
Wireless -> [zakładka] Interfaces -> wlan1 -> [zakładka] Wireless ->
-> [przycisk] Advanced Mode
-> Mode -> ap bridge -> SSID -> "MikroWLAN" -> Security Profile -> "WLAN pass" -> OK
4. Włączyć interfejs wlan1:
Interfaces -> wlan1 -> [przycisk] enable
function color_inverse($color){
$color = str_replace('#', '', $color);
if (strlen($color) != 6){ return '000000'; }
$rgb = '';
for ($x=0;$x<3;$x++){
$c = 255 - hexdec(substr($color,(2*$x),2));
$c = ($c < 0) ? 0 : dechex($c);
$rgb .= (strlen($c) < 2) ? '0'.$c : $c;
}
return '#'.$rgb;
}
1. Po pierwszym uruchomieniu MikroTika należy (przed podłączeniem do internetu!) wyzerować jego konfigurację.
Podłączamy się do MikroTika przez WinBox i wybieramy z menu:
System > Reset Configuration > [checkbox] No Default Configuration > Reset Configuration
Zobacz całość