Trong hoax.tech, nhiều kiểu hành động với Black Page được hỗ trợ.
Loại hành động Set Cookie không dùng để tự động chuyển hướng sang Black Page; nó được sử dụng để đặt cookie chứa hash của flow cho các visitor hợp lệ (không phải bot), và kích hoạt một hành động được thiết lập sau đó.
Ví dụ về sự kiện:
Bot và moderator không có cookie khi thực hiện cùng hành động:
Ví dụ sau minh họa việc dùng Set Cookie để chuyển hướng visitor mục tiêu sau khi họ bấm nút.
Trong trường hợp này, user hợp lệ (không phải bot) sẽ được chuyển sang Black Page, còn bot và moderator sẽ chuyển sang white page thứ hai.
Bước 1. Tạo và cấu hình flow.
Bạn có thể nhập bất kỳ URL nào vào mục Black Page vì với hành động Set Cookie, sẽ không có chuyển hướng tự động sang Black Page.
Bước 2. Trong phần cấu hình tích hợp, chọn hành động Set Cookie.

Bước 3. Tích hợp script cloaking vào white page (https://setcookie.hoax.tech) theo cách PHP Integration tiêu chuẩn:
index.phpindex.php thành index2.php (nếu file chính là .html, đổi thành index2.php và đổi phần mở rộng thành .php)index.php đã tải từ flow vào thư mục gốc của websiteSau khi gửi traffic vào white page, bot và user thật đều ở lại trên cùng một trang — nhưng user thật sẽ nhận cookie chứa hash của flow.
Bước 4. Chèn đoạn script sau vào nút To Rent trên white page.
Script sau đây sẽ được tích hợp vào nút "To Rent":

Script sẽ kiểm tra cookie của người bấm nút và chuyển hướng:
document.querySelector("#BUTTON").addEventListener("click", function() {
function getCookie(name) {
const matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([.$?*|{}()[]\/+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : null;
}
if (getCookie("FLOW_HASH")) {
window.location.href = atob("BASE64_BLACK_PAGE");
} else {
window.location.href = atob("BASE64_WHITE_PAGE");
}
});
Các biến:
BUTTON — ID của nút kích hoạt sự kiện.
FLOW_HASH — hash của flow tích hợp trong white page. Có thể copy trong mục Flows (https://hoax.tech/flows) hoặc ngay trên URL trình duyệt khi chỉnh sửa flow.
BASE64_BLACK_PAGE — URL Black Page mã hóa dạng Base64.
BASE64_WHITE_PAGE — URL White Page mã hóa dạng Base64.
Bước 5. Tìm ID của nút trong mã HTML của white page và copy.
Nếu nút không có ID, hãy đặt ID tùy ý — ví dụ: goldbutton.

Bước 6. Để bảo mật hơn, mã hóa các URL sang Base64.
Bạn có thể dùng công cụ như base64decode.org.

Bước 7. Thêm tất cả biến vào đoạn code.
Kết quả sẽ trông như sau:
document.querySelector("#goldbutton").addEventListener("click", function() {
function getCookie(name) {
const matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([.$?*|{}()[]\/+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : null;
}
if (getCookie("4126123ffb74b745e81c70f3bfb686df")) {
window.location.href = atob("aHR0cHM6Ly9ibGFjay5ob2F4LnRlY2g=");
} else {
window.location.href = atob("aHR0cHM6Ly9zZXRjb29raWUuaG9heC50ZWNoL2NvbnRhY3QtdXM=");
}
});
Bước 8. Thêm đoạn script vào cuối file thực thi của white page (index2.php), đặt giữa thẻ <script> và </script>:

Bước 9. Lưu file.
Bạn cũng có thể làm rối mã (obfuscate) script JS để tránh bị crawler quảng cáo phát hiện.
Công cụ khuyến nghị: https://obfuscator.io/
Kết quả ví dụ:
function _0x44c4(){const _0xe4c0fc=['403347WWuKVP','8fEDpfp','27072aUCRWv','aHR0cHM6Ly9ibGFjay5ob2F4LnRlY2g=','addEventListener','9391824hodZYU','3726506YANKlF','4126123ffb74b745e81c70f3bfb686df','aHR0cHM6Ly9zZXRjb29raWUuaG9heC50ZWNoL2NvbnRhY3QtdXM=','768945BCWBCp','#goldbutton','1460530wQGfLy','8pIPjbO','href','click','(?:^|;\x20)','3695868Lymavf','location','replace','querySelector'];_0x44c4=function(){return _0xe4c0fc;};return _0x44c4();}function _0x21a8(_0x3ae868,_0x451a7c){const _0x44c499=_0x44c4();return _0x21a8=function(_0x21a859,_0xadcba8){_0x21a859=_0x21a859-0x18e;let _0x236e1f=_0x44c499[_0x21a859];return _0x236e1f;},_0x21a8(_0x3ae868,_0x451a7c);}const _0xed30a5=_0x21a8;(function(_0x37da8d,_0x52157d){const _0x4c2e78=_0x21a8,_0x43e449=_0x37da8d();while(!![]){try{const _0xda49f9=-parseInt(_0x4c2e78(0x19b))/0x1+parseInt(_0x4c2e78(0x19d))/0x2+parseInt(_0x4c2e78(0x190))/0x3*(parseInt(_0x4c2e78(0x193))/0x4)+parseInt(_0x4c2e78(0x192))/0x5+-parseInt(_0x4c2e78(0x197))/0x6+parseInt(_0x4c2e78(0x1a1))/0x7*(-parseInt(_0x4c2e78(0x19c))/0x8)+parseInt(_0x4c2e78(0x1a0))/0x9;if(_0xda49f9===_0x52157d)break;else _0x43e449['push'](_0x43e449['shift']());}catch(_0x107c00){_0x43e449['push'](_0x43e449['shift']());}}}(_0x44c4,0x4bb6d),document[_0xed30a5(0x19a)](_0xed30a5(0x191))[_0xed30a5(0x19f)](_0xed30a5(0x195),function(){const _0x8a7688=_0xed30a5;function _0x4d91d4(_0x1cc909){const _0x113a72=_0x21a8,_0x31c119=document['cookie']['match'](new RegExp(_0x113a72(0x196)+_0x1cc909[_0x113a72(0x199)](/([.$?*|{}()[]\/+^])/g,'\x5c$1')+'=([^;]*)'));return _0x31c119?decodeURIComponent(_0x31c119[0x1]):null;}_0x4d91d4(_0x8a7688(0x18e))?window[_0x8a7688(0x198)][_0x8a7688(0x194)]=atob(_0x8a7688(0x19e)):window[_0x8a7688(0x198)][_0x8a7688(0x194)]=atob(_0x8a7688(0x18f));}));
Cài đặt hoàn tất.
Dưới đây là ví dụ khác, trong đó visitor mục tiêu được chuyển sang Black Page, còn bot và moderator thì nút sẽ không hoạt động, và không cần white page thứ hai:
document.querySelector("#BUTTON").addEventListener("click", function() {
function getCookie(name) {
const matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([.$?*|{}()[]\/+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : null;
}
if (getCookie("FLOW_HASH")) {
window.location.href = atob("BASE64_BLACK_PAGE");
}
});