如何网页源码加密防止蜘蛛Url防止被黑

11:47 提问
rest风格的url怎么进行加密?
定义基于rest的URL请求,包括参数加密,最好能给出demo。
类似这样rest的url
。http://localhost:8080/sqlrest /order/1
按赞数排序
可生成一段字符串,把参数隐藏进去,然后按照规则,分隔字符串取出。
怎么加密不重要,关键是前后端的加密方式要协商一致。比如参数+accessToken结合起来进行某种方式的加密。
然后后台也根据这种防止进行解密就可以得到参数。当然这个Token和加密解密的方式要保密咯。
加密,用token,只是不明白你是需要哪种
走https,数字证书加密
使用rest风格的url,就是要让URL增强语义,增强可读性;
如果要加密就没必要使用这种风格的了。
另外,一般希望加密的数据都是使用Post方式传递,再使用HTTPS,这样就很安全了。
RestFul风格加密直接用HTTPS加密
可以看看这篇技术讨论
思考究竟是要防范什么
防范中间人攻击HTTPS就可以了
防范字段泄露可以使用 常用的加密算法就可以了,并且可以使用salt
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐iOS 防止反编译加密方法 - 简书
iOS 防止反编译加密方法
1.本地数据加密
对NSUserDefaults,sqlite存储文件数据加密,保护帐号和关键信息
将文件进行加密
// 获取需要加密文件的二进制数据
NSData *data = [NSData dataWithContentsOfFile:@"/Users/wangpengfei/Desktop/photo/IMG_5551.jpg"];
// 或 base64EncodedStringWithOptions
NSData *base64Data = [data base64EncodedDataWithOptions:0];
// 将加密后的文件存储到桌面
[base64Data writeToFile:@"/Users/wangpengfei/Desktop/123" atomically:YES];
将文件进行解密
// 获得加密后的二进制数据
NSData *base64Data = [NSData dataWithContentsOfFile:@"/Users/wangpengfei/Desktop/123"];
// 解密 base64 数据
NSData *baseData = [[NSData alloc] initWithBase64EncodedData:base64Data options:0];
// 写入桌面
[baseData writeToFile:@"/Users/wangpengfei/Desktop/IMG_5551.jpg" atomically:YES];
2.URL编码加密
对程序中出现的URL进行编码加密,防止URL被静态分析
2.1 ARC模式下
+ (NSString *)encodeToPercentEscapeString: (NSString *) input
NSString *outputStr =
(__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(
NULL, /* allocator */
(__bridge CFStringRef)input,
NULL, /* charactersToLeaveUnescaped */
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
return outputS
+ (NSString *)decodeFromPercentEscapeString: (NSString *) input
NSMutableString *outputStr = [NSMutableString stringWithString:input];
[outputStr replaceOccurrencesOfString:@"+"
withString:@""
options:NSLiteralSearch
range:NSMakeRange(0,[outputStr length])];
[outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
2.1 非ARC模式下
+ (NSString *)encodeToPercentEscapeString: (NSString *) input {
// Encode all the reserved characters, per RFC 3986
NSString *outputStr = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)input,NULL,(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);
return outputS
+ (NSString *)decodeFromPercentEscapeString: (NSString *) input {
NSMutableString *outputStr = [NSMutableString stringWithString:input];
[outputStr replaceOccurrencesOfString:@"+"
withString:@" "
options:NSLiteralSearch
range:NSMakeRange(0, [outputStr length])];
return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
3.网络传输数据加密
对客户端传输数据提供加密方案,有效防止通过网络接口的拦截获取数据, 使用MD5加密。
把一个任意长度的字节串变换成一定长度的十六进制的大整数。
注意,字符串的转换过程是不可逆的,不能通过加密结果,反向推导出原始内容。
3.1 MD5特点
压缩性 : 任意长度的数据,算出的 MD5 值长度都是固定的。
容易计算 : 从原数据计算出 MD5 值很容易。
抗修改性 : 对原数据进行任何改动,哪怕只修改一个字节,所得到的 MD5 值都有很大区别。
弱抗碰撞 : 已知原数据和其 MD5 值,想找到一个具有相同 MD5 值的数据(即伪造数据)是非常困难的。
强抗碰撞: 想找到两个不同数据,使他们具有相同的 MD5 值,是非常困难的
3.2 MD5应用
一致性验证:MD5将整个文件当做一个大文本信息,通过不可逆的字符串变换算法,产生一个唯一的MD5信息摘要。
就像每个人都有自己独一无二的指纹,MD5对任何文件产生一个独一无二的数字指纹。
利用 MD5 来进行文件校验,被大量应用在软件下载站,论坛数据库,系统文件安全等方面(是否认为添加木马,篡改文件内容等).百度‘MD5’第一个网站进去,利用数据库伪解密,即反查询。
安全访问认证
3.3 MD5使用
需要导入第三方框架: NSString+Hash
利用 MD5 对字符串进行加密
NSString *password = @"WangPengfei";
password = [password md5String];
NSLog(@"password1:%@", password);
加盐:可以保证 MD5加密之后更加安全
NSString *salt = @"-!@#$%^&*()_+QWERTYUIOP{ASDFGHJKL:XCVBNM&&";
[password stringByAppendingString:salt];
password = [password md5String];
NSLog(@"password2:%@", password);
每一个公司都有自己的“盐值”,盐值越复杂,越安全
4.方法体,方法名高级混淆
对应用程序的方法名和方法体进行混淆,保证源码被逆向后无法解析代码。
使用hopper disassembler 反编译iPA之后不能得到相应的方法调用信息。
4.1 创建shell脚本:
TABLENAME=symbols
SYMBOL_DB_FILE="symbols"
STRING_SYMBOL_FILE="fun.list"
HEAD_FILE="$PROJECT_DIR/$PROJECT_NAME/codeObfuscation.h"
export LC_CTYPE=C
createTable(){
echo "create table $TABLENAME(src text, des text);" | sqlite3 $SYMBOL_DB_FILE
insertValue(){
echo "insert into $TABLENAME values('$1' ,'$2');" | sqlite3
$SYMBOL_DB_FILE
echo "select * from $TABLENAME where src='$1';" | sqlite3 $SYMBOL_DB_FILE
ramdomString(){
openssl rand -base64 64 | tr -cd 'a-zA-Z' |head -c 16
rm -f $SYMBOL_DB_FILE
rm -f $HEAD_FILE
createTable
touch $HEAD_FILE
echo '#ifndef Demo_codeObfuscation_h
#define Demo_codeObfuscation_h' && $HEAD_FILE
echo "//confuse string at `date`" && $HEAD_FILE
cat "$STRING_SYMBOL_FILE" | while read - do
if [[ ! -z "$line" ]]; then
ramdom=`ramdomString`
echo $line $ramdom
insertValue $line $ramdom
echo "#define $line $ramdom" && $HEAD_FILE
echo "#endif" && $HEAD_FILE
sqlite3 $SYMBOL_DB_FILE .dump
声明要替换的方法名列表
//在上边脚本中提到了 STRING_SYMBOL_FILE="fun.list",意思就是运行脚本的时候会到这个文件去读取需要替换的方法名,重新写入符号表中。
nameAction
refreshAction
4.3 生成对应的转义之后的无序字符串
5.程序结构混排加密
对应用程序逻辑结构进行打乱混排,保证源码可读性降到最低
6.借助第三方APP加固
做人要有原则
做事竭尽全力
一切皆有可能
GitHub:https://github.com/fanbaoying
掘金:https://juejin.im/user/5a30d987f265da430d580126
个人博客:https://fanbaoying.github.io/
小专栏:https://xiaozhuanlan.com/fbypay
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式...
原版:http://blog.csdn.net/jun2ran/article/details/6491375 第一章 前言第二章 证书第三章 加密算法第四章 协议第五章 入门第六章 指令 verify第七章 指令asn1parse第八章 指令CA(一)第九章 指令CA(二...
/**ios常见的几种加密方法: 普通的加密方法是讲密码进行加密后保存到用户偏好设置( [NSUserDefaults standardUserDefaults])中; 钥匙串加密是以明文形式保存,但是不知道存放的具体位置。 */
#pragma mark----钥匙串存...
百战程序员_ Java1573题 QQ群:034603 掌握80%年薪20万掌握50%年薪10万 全程项目穿插, 从易到难,含17个项目视频和资料持续更新,请关注www.itbaizhan.com 国内最牛七星级团队马士兵、高淇等11位十年开发经验专...
一、GET/POST方法简介&用户安全 1、GET/POST方法简介 在客户端和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。 & GET - 从指定的资源请求数据。 * GET 请求可被缓存,可以保留在浏览器历史记录中,可被收藏为书签。 * G...
图左这位男子,他现在已经57岁,图中是他人生的第一个身份——名為Sam Hashimi 17岁移居伦敦,领导自己的投资公司,短短几年内成為百万富翁,24岁迎娶了选美小姐,还生了两个孩子。可惜好景不长,受国际局势和伊拉克身份影响,Sam在商场上受了挫败。由於很少陪伴家人,还曾...
绿潭映着树 青树泛着光 碧空斑斑黑影 是那啊吐芽的树儿 让春雨无息地降临 地平线的绿 即将点亮夜空中第一颗星
知道那人会爱上 不对的地点 不对的时间 只能无奈的错过 是恋人 不过无法触摸 N年以后 擦肩的瞬间莫名其妙 以为是…… 其实是冥冥之中的爱慕 心本就跳动 是不小心的抽动 手被另一只手牵着 心却无法平静 回头看着 双脚是向前的 彼此的距离越来越远 也许某一天 你是我未来的情人...
有人说幸福是追求来的 可是幸福是人生的少数 所以我们在追寻 平静也好 苦难也好 幸福也罢 只有你的感知会告诉你 你所经历的就是人生 也许看得越透 心就会越平静 或许冷漠 所谓年老而耳顺当前位置: &&&&正文
使用TLS/SSL(HTTPS)加密时,所有的URL都被加密了吗?我想知道,因为我想要使用TLS/SSL(HTTPS)隐藏所有URL数据。
如果TLS/SSL提供了全面的URL加密,那么就不用操心隐藏来自URL的机密信息了。
最佳解决思路
是的,HTTPS对URL加密了。SSL连接建立在TCP层和HTTP层之间。客户端和服务器首先建立一个安全的加密的TCP连接(通过SSL/TLS协议),然后客户端将通过该加密的TCP连接发送HTTP请求(GET,POST,DELETE ...)。
次佳解决思路
帖子 已经指出,https "URLs"确实是加密的。但是,解析域名时,DNS请求/响应可能不是,另外,如果使用的是浏览器,访问的URL也可能会被记录下来。
第三种解决思路
这里提供一个抓包截图。服务器名称(URL的域名部分)以明文显示在ClientHello数据包中。
以下显示的浏览器请求为:https://i.stack.imgur.com/path/?some=parameters&go=here
有关TLS版本字段的更多信息(其中有3个 - 不是版本,每个字段都包含一个版本号!)
简而言之:
如果使用SNI扩展,则FQDN(URL的域名部分)可以明文在ClientHello数据包内传输
由于请求URL是一个HTTP事物(OSI第7层),因此URL的其余部分(/path/?some=parameters&go=here)在ClientHello中看不到,因此它永远不会在TLS握手(第4层或第5层)中显示。
域名可以明文传输(如果在TLS握手中使用SNI扩展),但URL(路径和参数)始终是加密的。主题 : 求教高手 swift 怎么对url 进行加密和解密
级别: 新手上路
UID: 454785
可可豆: 384 CB
威望: 330 点
在线时间: 247(时)
发自: Web Page
求教高手 swift 怎么对url 进行加密和解密&&&
如题,请大神帮忙出了例子
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版url后面一串字母数字,是加密吗?影响收录吗?_搜外问答
就像http://www.iendell.com/h-pd-_225_-1.html?pfc=%257B%2522groupIds%5B225%255D%252C%2522mul%Atrue%252C%2522lid%%257D
分享到微信
看着像是程序自动产生的,比如把产品的名称解码成这些字符。
另外,网站禁止了右键和快捷键的复制粘贴功能,一点意义都没有。
30天内高手都在交流什么
(7 个回答)
(6 个回答)
(2 个回答)
(2 个回答)
(1 个回答)
(4 小时前)
(9 小时前)
(10 小时前)
(10 小时前)
(11 小时前)
给问题设置一定金额,将更容易获得关注与回答。
选择支付方式

我要回帖

更多关于 为防止失效视频已加密 的文章

 

随机推荐