Thursday, August 30, 2018

Câu chuyện nhỏ về bảo mật

Câu Chuyện 1:
Hôm Trước chở vợ đi spa chăm sóc da mặt, ngồi rảnh rỗi mở lên kết nối wifi thì thấy vài máy in connect wifi. Tò mò vào thử xem kết nối có được không ?


Bật lên, connect 1 phát vào ngay. đã kết nối thành công với Iphone ^_^.
Trong đầu lúc ngày suy nghĩ là kết nối được chắc gì in được vì còn driver và có thể có code bảo mật khi in cũng nên.
Nhưng vì tính tò mò nên cũng quyết định kiếm một cái gì đó in thử xem có được không.
Sau một hồi lục tìm thì cũng có tài liệu sản trong iphone nên in thử?
sau khi bấm in thì thấy lệnh pending trong đầu nghỉ là lỗi kết nối, nhưng chừng 20s sau thì thấy mấy em lễ tân mặt xanh mặt vàng xì xầm với nhau? giấy ở đâu ai in ra nhiều thế. Mình mở tài liệu ra xem thử lúc nảy in gì? thì ra tài liệu mình in tới 2x pages nên khi in nó bị pending. Tội hai bé lễ tân, ngơ ngơ, ngác ngác không biết chuyện gì xẩy ra? thấy 2 bạn đó vội vàng tắt máy in .
Khi các bạn IT cài máy thì chú ý, đối với máy HP thì truy cập vào webconfig tắt wifi hoặc đặt password cho kết nối máy in nhé.

Network --> wifi direct --> Off hoặc thể đặt pass cho nó nhé.

Câu Chuyện 2:
Lúc trước có đi bảo trì xe máy ở một địa chỉ trên đường CMT8, Ở đây dịch vụ bảo trì khá tốt. có phòng máy lạnh, cafe, nước, máy tính cho người chờ bảo trì. Mình rất hay bảo trì tại đây.
Trong lúc ngồi chờ lấy xe, nhìn quanh thấy có một máy tính để cho khách? Mình tiến lại gần xem trên máy có gì? sau khoảng 15 phút lướt net đọc báo thì tháy chán. ... Không có chuyện gì vui để làm cả? vào trong My computer nhìn sang Network Discovery thấy có một số máy share thư mục trong mạng LAN. Thử đăng nhập các thư mục này như thế nào? sau khi // máy cái thì vào được thư mục, Cũng tò mò nên thử kiểm tra xem nó có phân quyền không truy cập, sữa xóa gì không?
Thử đổi tên 1 thư mục --> Thấy OK. Thêm một file mới thấy OK luôn.
Thì ra IT không cẩn thận, Khi không cho Guest sử dụng thì phải chia lớp mạng riêng, Không tắt Network Discovery. Lúc share thì phải phân quyền user cụ thể.
Khoảng vài tháng sau mình trở lại thì thấy vấn đề đã đươc giải quyết?.
Những câu chuyện vui vui chia sẽ cho anh em làm IT cần chú ý. Dù rất nhỏ nhưng ảnh hưởng tương đối lớn.


Friday, July 27, 2018

SQL lấy giá mới nhất của từng sản phẩm đã bán trong tháng

ALTER procedure [dbo].[AFF_GetPriceNew]
/* Description: Lấy giá mới nhất của một mã sản phẩm
   Design by: Huỳnh Văn Diễn
   Create date: 27/07/218
*/
@Fromdate date,
@ToDate date
as
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SET NOCOUNT ON;
begin
--drop table #TEMPPRICE
select ProductCode,ProductDesc,Price,posteddate INTO #TEMPPRICE
from dbDODTL t3
inner join dbDOHdr T2 on T3.DONo=T2.DONo
--left join dbProduct T6 on T6.Code =T3.ProductCode
where T2.posteddate between @Fromdate and @ToDate
select T1.ProductCode,T1.Price,T5.ngaypost from #TEMPPRICE as T1
inner join
(select ProductCode,Max(posteddate) as ngaypost from #TEMPPRICE group by ProductCode)T5 -- điều kiện lấy
on T5.ProductCode=T1.ProductCode and T1.posteddate=T5.ngaypost
end 

Thursday, June 14, 2018

Remote báo lỗi "This could be due to CredSSP encryption oracle remediation."

Nguồn: http://iclick.skyit.vn
Một số bản cập nhật của Windows gần đây (5/2018) gia tăng bảo mật nên ảnh hưởng tới ứng dụng Remote Desktop của Windows. Khi bạn mở ứng dụng Remote Desktop để connect vào Server hay VPS gặp lỗi như sau:
Phần mềm soạn thảo HTML iClick Editor
Lỗi: This could be due to CredSSP encryption oracle remediation.
An authentication error has occurred.
The function requested is not supported.
Remote computer: xxxx
This could be due to CredSSP encryption oracle remediation.
....
iClick xin chia sẻ cách sửa lỗi này bằng cách sửa registry. Cụ thể là bổ sung giá trị "AllowEncryptionOracle"=dword:00000002vào registry sau: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters].
Các bước thực hiện:
Phần mềm soạn thảo HTML iClick Editor
Vào RUN (Win Key + R) > gõ regedit để mở registry.
Theo đường dẫn: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System, tạo key CredSSPnếu chưa có.
Phần mềm soạn thảo HTML iClick Editor
Chọn System > New > Key
Phần mềm soạn thảo HTML iClick Editor
Đặt tên CredSSP.
Tạo tiếp tương tự key Parameters trong key CredSSP.
Phần mềm soạn thảo HTML iClick Editor
Tạo Key Parameters.
Phần mềm soạn thảo HTML iClick Editor
Trong Parameters tạo DWORD Value.
Phần mềm soạn thảo HTML iClick Editor
Đặt tên là AllowEncryptionOracle.
Phần mềm soạn thảo HTML iClick Editor
Double Click vào Key đặt giá trị là 2.
Tới đây là hoàn tất, bạn thử remote lại nếu chưa được thì khởi động lại máy và remote lại.

Wednesday, May 30, 2018

làm thế nào xóa lỗi Compile error in hidden Module trong excel

khi add-on excel bị lỗi vì lý do gì đó mỗi lần mở excel lên gặp câu thông báo
 compile error in hidden module ....
rất khó chịu với mỗi lần mở excel.
cách giải quyết là vào đường dẫn bên dưới:
C:\Users\Tên User của bạn\AppData\Roaming\Microsoft\Excel\XLSTART
 Xóa Add-on đó đi thì được.
Hi vọng giải quyết được vấn đề của các bạn.

Sunday, May 27, 2018

Các câu lệnh SQL

1. Gặp một bài toán kiểm tra số dòng nhập vào có trùng không, ví dụ dưới đây là kiểm tra 2 dòng DONo và Seq trong table tblAFFSaleInvoice có trùng dòng không

SELECT TOP(1) COUNT(1) as Num FROM [tblAFFSaleInvoice] GROUP BY DONo,Seq HAVING COUNT(1) > 1

Giải thích:
Top1 () chỉ cần có 1 dòng trùng thì chúng ta báo lỗi.
COUNT(1): Đếm số dòng trùng nhau
GROUP BY:  Dòng các dòng trùng nhau
HAVING: Mệnh đề HAVING…được thêm vào SQL vì mệnh đề WHERE không áp dụng được đối với các hàm tập hợp (như SUM). Nếu không có HAVING, ta không thể nào kiểm tra được điều kiện với các hàm tập hợp.
2. Thêm số thứ tự ở dòng đầu tiên
Select
ID_Num = IDENTITY(int, 1, 1),
t1.DONo as STT,
t3.[Name] as TenKhachHang,
        from dbDOHdr T1 left join
dbMember T3 on t1.MemberCode = t3.Code
Thêm dòng này ID_Num = IDENTITY(int, 1, 1),  chúng ta sẽ có cột STT ở dòng đầu tiên