PHP chuyển đổi chuỗi thành ASCII

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

Nhiều tùy chọn chia sẻ hơn

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

Nhiều tùy chọn chia sẻ hơn

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

ord[] trong PHP là gì?

Hàm ord[] trả về giá trị ASCII của ký tự đầu tiên của chuỗi .

CHR[] và Ord[] có phải là hàm ngược nhau trong PHP không?

Để chuyển đổi sang ASCII từ các ký tự văn bản, bạn nên sử dụng hàm chr[], hàm này lấy một giá trị ASCII làm tham số duy nhất và trả về văn bản tương đương nếu có. Hàm ord[] thì ngược lại - nó nhận vào một chuỗi và trả về giá trị ASCII tương đương .

CHR trong PHP là gì?

Hàm PHP chr[] . Giá trị ASCII có thể được chỉ định ở dạng giá trị thập phân, bát phân hoặc hex. returns a character from the specified ASCII value. The ASCII value can be specified in decimal, octal, or hex values.

Giá trị ASCII của A đến Z là gì?

Giá trị ASCII của bảng chữ cái viết thường là từ 97 đến 122 . Và, giá trị ASCII của bảng chữ cái viết hoa là từ 65 đến 90.

Chủ Đề