繁体   English   中英

PHP中的Base64编码不适用于'&'和'#'吗?

[英]Base64 encoding in PHP not working for '&' and '#'?

我对base64的了解非常有限。 我正在使用它作为内容管理系统中字符串转义的替代方法,因为已经警告我如何在mysql_real_escape_string()中发现弱点; 而且非常令人毛骨悚然,因为我知道它会增加文字的大小。

PHP似乎在字符串中#或&的实例之后截断了所有内容; 请帮助我。

另外,请评论一下使用base64来保持CMS中帖子内容的“真实性”是否只是明智之举,还是明智之举。

谢谢你的时间 :)

是的,它可以工作:

$ php
<?php echo base64_decode(base64_encode("hello &# world")); ?>
hello &# world

您可以在Wikipediaphp手册中找到有关base64的信息

谢谢大家,达夫一直都是对的。 我从Google手中抢到的一个简单的URLEncode函数就完成了:)

return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
                                                                replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');

再次感谢 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM