0

有一个站点:http : //www.sleepsystem.ru/ 在模板 TemplaVoilà 的帮助下编译。在除主页面(对其进行评论)之外的所有页面上的网站代码中都有一条记录(大约 186 个字符串):

<script src = "http://savehalf.traffictools.ru/counter.js" type = "text / javascript"> </ script>

因为她的网站被加载超过20秒。您必须删除此记录。

将此字符串放在数据库 MYSQL 中。在表“tx_templavoila_tmplobj”列:“templatemapping”文件中的三个记录的BLOB。

当通过 dbForge Studio for MYSQL 编辑数据文件并删除所需的行时,站点停止工作并出现错误:

Template Object could not be unserialized successfully.
Are you sure you saved mapping information into Template Object with UID "4"

似乎问题出在数据 BLOB 文件中的西里尔字符中,删除它们但没有办法。需要帮忙。

4

1 回答 1

0

您正在直接编辑序列化数据,这意味着您可能正在破坏它。你不能只是涉水并开始挥动砍刀。您还必须保留序列化脚手架。

例如

php > echo serialize('this is a string');
s:16:"this is a string";

所以你在数据库中得到了这个序列化的字符串,你在数据库中做了一些砍刀工作并将其更改为

s:16:"this is an elephant";

这给了你:

php > echo unserialize('s:16:"this is an elephant"');
PHP Notice:  unserialize(): Error at offset 22 of 26 bytes in php shell code on line 1

糟糕,现在它已损坏。正确的编辑也应该是更改 size 参数:

s:19:"this is an elephant";

无论您的模板系统采用何种序列化格式,您都必须准确地重新创建它的功能才能直接修改序列化数据。

于 2014-11-13T14:50:30.037 回答