Tôi đang tìm cách chuyển đổi một chuỗi thành mã số ascii. Tôi có danh sách các từ chuyển đổi trong một mảng, các vấn đề nằm ở chỗ mỗi lần lặp qua mảng, bắt đầu từ đầu mảng và nối phần tử tiếp theo trong mảng vào cuối
i. e;
KIỂM TRAABcDE12345678910
TESTABcDE12345678910TeshgaGDasf#1345
$string=array["TEstABcDE12345678910", "TeshgaGDasf#1345"]; $asciiString=""; foreach[$string as $string2]{ for[$i = 0; $i != strlen[$string2]; $i++] { $asciiString .= "".ord[$string2[$i]].";"; } $asciiCode = str_replace["&", "&", $asciiString]; echo $asciiString."
"; }
Tôi làm cách nào để nó chỉ chuyển đổi từng phần tử mảng riêng lẻ. Tôi cũng cần một số cách thêm preg_match vào cái này
Ý tưởng là để mảng chứa danh sách "các từ bị cấm" [javascript, alert, style, trong số những từ khác], sau đó chuyển đổi các từ bị cấm đó thành mã ASCII tương đương của chúng
Đây là một nỗ lực vượt xa các thực thể html để ngăn chặn XSS
- Trích dẫn
Liên kết để bình luậnChia sẻ trên các trang web khác
scotstah
Đăng ngày 8 tháng 6 năm 2012
scotstah
- cựu nhân viên
- 3. 9k
- 6
- Địa điểm. Hoa Kỳ
- Đăng lại
Đăng ngày 8 tháng 6 năm 2012
Tôi nghĩ rằng tôi đã làm cho nó làm việc với điều này
$words = array['TEstABcDE12345678910', 'TeshgaGDasf#1345']; $ascii = ''; foreach[$words as $word] { $index = 0; while[$index < strlen[$word]] { $ascii .= ord[$word[$index]]; $index++; } echo $ascii . '
'; }
Tuy nhiên, với tư cách là một kỹ thuật ngăn chặn XSS, tôi nghi ngờ. Theo tôi, hãy sử dụng htmlentities[] hoặc htmlspecialchars[] nếu .
- Trích dẫn
Liên kết để bình luậnChia sẻ trên các trang web khác
HDFilmMaker2112
Đăng ngày 8 tháng 6 năm 2012
HDFilmMaker2112
- Các thành viên
- 547
- Tác giả
- Đăng lại
Đăng ngày 8 tháng 6 năm 2012
Điều đó thật không may khi trả lại điều tương tự
KIỂM TRAABcDE12345678910
TESTABcDE12345678910TeshgaGDasf#1345
Theo như sử dụng htmlentities; . Đây chỉ là để tiến thêm một bước và loại bỏ các từ có thể được sử dụng trong một cuộc tấn công
Hàm chr[] là một hàm có sẵn trong PHP và được sử dụng để chuyển đổi một giá trị ASCII thành một ký tự. Nó chấp nhận một giá trị ASCII làm tham số và trả về một chuỗi đại diện cho một ký tự từ giá trị ASCII đã chỉ định. Giá trị ASCII có thể được chỉ định ở dạng giá trị thập phân, bát phân hoặc hex
- Các giá trị bát phân được xác định bởi một số 0 đứng đầu
- Các giá trị hex được xác định bởi một 0x đứng đầu
Bảng giá trị ASCII có thể được tham khảo từ đây
cú pháp
string chr[ $asciiVal]
Tham số. Hàm này chấp nhận một tham số duy nhất $asciiVal. Tham số này chứa một giá trị ASCII hợp lệ. Hàm chr[] trả về ký tự tương ứng của giá trị ASCII mà chúng ta truyền cho nó dưới dạng tham số $asciiVal
Giá trị trả về. Hàm trả về ký tự có giá trị ASCII mà chúng ta truyền vào
ví dụ
Input : ASCII=35 ASCII=043 ASCII=0x23 Output : # # # Explanation: The decimal, octal and hex value of '#' is 35, 043 and 0x23 respectively Input : ASCII=48 Output : 0
Các chương trình dưới đây minh họa hàm chr[] trong PHP
chương trình 1. Chương trình minh họa hàm chr[] khi các mã ASCII khác nhau được truyền nhưng ký tự tương đương giống nhau