全球主机交流论坛
标题:
请教个php语句的写法
[打印本页]
作者:
火影
时间:
2009-9-17 22:59
标题:
请教个php语句的写法
我太菜了,搞了半天终于能兼容glype代理了,但是有个问题自己不会写,看别人写的也看不大明白。
需要判断在输入框里输入的网站是否包含http://或https://
如果包含http://或者https://,那么去掉前面的http,用base64加密后提交
如果不包含,则用base64加密后,再在前面添加上Oi8v后提交
应该怎么写啊?
哪位高手来指点一下。。。。。感谢。。。。。。
作者:
cpuer
时间:
2009-9-17 23:22
标题:
回复 1# 的帖子
等高手的判断语句。
作者:
ABC
时间:
2009-9-18 09:48
简单的if else就行了
作者:
gdtv
时间:
2009-9-18 12:15
$str=.......;
if(str_len($str,7)=='http://'){
$str=str_replace('http://','',$str);
$str=base64_encode($str);
}elseif(str_len($str,8)=='https://'){
$str=str_replace('https://','',$str);
$str=base64_encode($str);
}else{
$str='Oi8v'.base64_encode($str);
}
作者:
cpuer
时间:
2009-9-18 12:50
标题:
回复 4# 的帖子
楼主试试吧。
作者:
summer1ove
时间:
2009-9-18 18:58
把协议名去掉?不需要判断?
作者:
cpuer
时间:
2009-9-18 20:16
标题:
回复 6# 的帖子
如果包含http://或者https://,那么去掉前面的http,用base64加密后提交
4楼里面有判断了吧。
作者:
gdtv
时间:
2009-9-18 21:12
我也不明白楼主要实现什么
作者:
火影
时间:
2009-9-18 21:38
感谢广东卫视
4楼的是不能区分大小写的
我琢磨了一下写成了这样:
$_POST["Url"]=trim($_POST["Url"]);
if(substr_count($_POST["Url"],'http://')||substr_count($_POST["Url"],'https://')==1 ){
$_POST["Url"]=str_ireplace('http','',$_POST["Url"]);
}else{
$_POST["Url"]='://'.$_POST["Url"];
}
这样更省劲了
直接提交出来原始的不带http头的地址
然后下面直接加密送出就可以了
作者:
cpuer
时间:
2009-9-18 22:00
标题:
回复 9# 的帖子
作者:
火影
时间:
2009-9-18 22:14
刚发现有个问题
如果是带有两个http就会都被替换了
如
http://http.google.com
会被替换成://.google.com
还是不严密啊
作者:
cpuer
时间:
2009-9-18 22:36
标题:
回复 11# 的帖子
谁会搞这种域名啊
作者:
火影
时间:
2009-9-18 23:38
标题:
回复 12# 的帖子
还是有可能网址中含有http这四个字符的啊
作者:
火影
时间:
2009-9-18 23:39
重写了一下,应该没问题了:
$_POST["Url"]=strtolower($_POST["Url"]);
$_POST["Url"]=trim($_POST["Url"]);
if(substr_count($_POST["Url"],'http://')==1 ){
$_POST["Url"]=str_ireplace('http://','',$_POST["Url"]);
$_POST["Url"]='://'.$_POST["Url"];
}else if(substr_count($_POST["Url"],'https://')==1 ){
$_POST["Url"]=str_ireplace('https://','',$_POST["Url"]);
$_POST["Url"]='s://'.$_POST["Url"];
}else{
$_POST["Url"]='://'.$_POST["Url"];
}
作者:
cpuer
时间:
2009-9-19 00:04
标题:
回复 14# 的帖子
欢迎光临 全球主机交流论坛 (https://gebi.eu.org/)
Powered by Discuz! X3.4