Ka soo saarida SAP GUI browserka

Marka hore waxaan maqaalkan ku qoray my blog, si aan loo baadhin oo aan dib u xasuusan mar dambe, laakiin maadaama uusan qofna akhriyin blog-ka, waxaan rabay inaan macluumaadkan la wadaago qof walba, haddii ay dhacdo qof u arko inuu faa'iido leeyahay.

Markaad ka shaqeyneyso fikradda adeegga dib u dejinta erayga sirta ah ee nidaamyada SAP R / 3, su'aal ayaa soo baxday - sida loo bilaabo SAP GUI oo leh cabbirrada lagama maarmaanka ah ee browserka? Maadaama fikraddani ay ka dhigan tahay isticmaalka adeegga shabakadda, marka hore ka jawaabista codsiga SOAP ee SAP GUI iyo u dirida warqad xiriirin ah bogga shabakadda oo leh qoraal dib loogu habeynayo erayga sirta ah midka hore, ka dibna loo soo bandhigo isticmaalaha fariin ku saabsan dib u dajinta erayga sirta ah ee guulaystay iyo muujinta eraygan sirta ah ee ugu horeeya, ka dib waxaan jeclaan lahaa in boggan sidoo kale yeesho xiriir si loo bilaabo SAP GUI. Waxaa intaa dheer, isku xirkani waa inuu furo nidaamka la rabo, iyo, doorbidaya, iyada oo goobaha gelitaanka iyo erayga sirta ah la buuxiyey hal mar: isticmaaluhu waa inuu buuxiyaa oo keliya laba jeer oo keliya.

Daahfurka SAP Logon ma ahayn mid xiiso u leh ujeeddadeena, iyo markii uu shaqeynayey sapgui.exe ma aysan suurtagal ahayn in la qeexo macmiilka iyo magaca isticmaalaha, laakiin waxaa suurtagal ah in la bilaabo nidaam aan lagu qeexin SAP Logon. Dhanka kale, bilaabista SAP GUI oo leh xuduudaha server-ka aan habooneyn ma ahayn mid si gaar ah u khuseeya: haddii aan xallineyno dhibaatada dib-u-dejinta erayga sirta ah ee isticmaalaha, ka dibna waxay u badan tahay inuu horeyba u leeyahay khadka lagama maarmaanka ah ee SAP Logon, oo leh goobaha uu u baahan yahay, iyo halkaas Looma baahna in uu ku qasbo tiisa. Laakiin shuruudaha la cayimay waxaa buuxiyay tignoolajiyada SAP GUI Shortcut iyo barnaamijka sapshcut.exe laftiisa, kaas oo suurtageliyay in la bilaabo SAP GUI iyada oo la adeegsanayo "gaaban" gaar ah.

Xalinta dhibaatada madax-furan: ka soo saarida sapshcut.exe si toos ah browserka adoo isticmaalaya shay ActiveX:

function openSAPGui(sid, client, user, password) {
var shell = new ActiveXObject("WScript.Shell");
shell.run('sapshcut.exe -system="'+sid+'" -client='+client+' -user="'+user+'" -pw="'+password+'" -language=RU');
}

Xalku waa xun yahay: marka hore, waxay kaliya ka shaqeysaa Internet Explorer, marka labaad, waxay u baahan tahay goobaha amniga ee ku habboon browserka, taas oo urur ahaan laga yaabo in laga mamnuuco heerka domainka, iyo xitaa haddii la oggol yahay, browserku wuxuu soo bandhigayaa daaqad cabsi leh. digniinta isticmaalaha:

Ka soo saarida SAP GUI browserka

Waxaan ka helay internetka xalka #2: abuurista borotokoolka shabakadaada. Wuxuu noo ogolaadaa inaan bilowno arjiga aan u baahanahay anagoo adeegsanayna isku xirka tilmaamaya borotokoolka, kaas oo anaga lafteena aan iska diiwaan galinayno Windows diiwangelinta qeybta HKEY_CLASSES_ROOT. Maadaama SAP GUI Shortcut leeyahay qayb-hoosaad u gaar ah qaybtan, waxaad ku dari kartaa xargaha borotokoolka URL oo leh qiime faaruq ah halkaas:

Ka soo saarida SAP GUI browserka

Hab-maamuuska ayaa bilaabmaya sapgui.exe oo leh halbeeg / GAABAN, taas oo ah waxa aan u baahanahay:

Ka soo saarida SAP GUI browserka

Hagaag, ama haddii aan rabno in aan samayno borotokool dhamaystiran (tusaale ahaan, sapshcut), ka dib waxaad ku diiwaan gelin kartaa adiga oo isticmaalaya faylka reg ee soo socda:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOTsapshcut]
@="sapshcut Handler"
"URL Protocol"=""
[HKEY_CLASSES_ROOTsapshcutDefaultIcon]
@="sapshcut.exe"
[HKEY_CLASSES_ROOTsapshcutshell]
[HKEY_CLASSES_ROOTsapshcutshellopen]
[HKEY_CLASSES_ROOTsapshcutshellopencommand]
@="sapshcut.exe "%1""

Hadda, haddii aan ku samayno xiriiriye bogga shabakadda oo tilmaamaya borotokoolka Sapgui.Shortcut.Faylka Si la mid ah:

<a href='Sapgui.Shortcut.File: -system=SID -client=200'>SID200</a>

Waa inaan aragnaa daaqad sidan oo kale ah:

Ka soo saarida SAP GUI browserka

Wax walbana waxay u muuqdaan kuwo weyn, laakiin markaad gujiso "Allow" badhanka waxaan aragnaa:

Ka soo saarida SAP GUI browserka

Haah, browser-ku wuxuu u rogay bar-furka %20. Hagaag, jilayaasha kale ayaa sidoo kale lagu dhejin doonaa kood lambareedkooda oo leh calaamad boqolkiiba ah. Iyo waxa ugu xun ayaa ah in aan waxba halkan lagu samayn karin heerka browserka (wax walba oo halkan ah waxaa lagu sameeyaa si waafaqsan heerka) - browserku ma jecla jilayaashaas, iyo turjubaanka amarka Windows kuma shaqeeyo qiyamka la calaamadeeyay. Iyo mid kale oo laga jaray - dhammaan xadhigga waxaa loo gudbiyaa sidii halbeeg ahaan, oo ay ku jiraan magaca borotokoolka iyo xitaa xiidanka (sapgui.shortcut.file:). Waxaa intaa dheer, inkastoo ay isku mid yihiin sapshcut.exe wuu iska tuuri karaa wax kasta oo aan halbeeg u ahayn (wuxuu ka bilaabmaa calaamadda "-", ka dibna magaca, "=" iyo qiimaha), i.e. line sida"sapgui.shortcut.file: -system=SID"Weli way shaqayn doontaa, ka dibna boos la'aan"sapgui.shortcut.file:-system=SID" hadda ma shaqaynayso.

Waxaa soo baxday in, mabda 'ahaan, ay jiraan laba ikhtiyaar oo loo isticmaalo borotokoolka URI:

  1. Isticmaalka xuduud la'aan: Waxaan u abuurnaa farabadan borotokoolka dhammaan nidaamyadayada nooca SIDANDT, like AAA200, BBB200 iyo wixi la mida. Haddii aad kaliya u baahan tahay inaad bilowdo nidaamka la rabo, markaa ikhtiyaarka ayaa ah mid la heli karo, laakiin kiiskeena kuma habboona, sababtoo ah ugu yaraan waxaad jeclaan lahayd inaad ku wareejiso gelitaanka isticmaalaha, laakiin tan sidan looma samayn karo.
  2. Isticmaalka barnaamijka duubista si aad u wacdo sapshcut.exe ama sapgui.exe. Nuxurka barnaamijkani waa mid fudud - waa in uu qaataa xadhkaha uu browserku ugu soo gudbiyo hab-maamuuska webka oo uu u beddelo matalaadda ay Windows hesho, i.e. wuxuu u rogaa dhammaan koodka jilayaasha oo dhan jilayaasha (laga yaabee xitaa inuu kala saaro xargaha iyadoo loo eegayo cabbirrada) oo mar hore wuxuu ugu yeeray SAP GUI amar sax ah oo dammaanad ah. Xaaladeena, sidoo kale gabi ahaanba kuma habboona (taasi waa sababta aanan xitaa u qorin), sababtoo ah kuma filna inaan ku darno borotokoolka dhammaan kombuyuutarrada isticmaalaha (gudaha domain kani weli waa sax, inkastoo ay sidoo kale ka fiican tahay in la sameeyo). iska ilaali dhaqankan), laakiin halkan waxaan u baahan doonaa meel badan oo barnaamijka ku saabsan PC, iyo sidoo kale si joogto ah loo hubiyo in uusan tagin marka software dib loo rakibo on PC.

Kuwaas. Waxaan sidoo kale tuurnay doorashadan inay tahay mid aan nagu habboonayn.

Halkaa marka ay marayso waxaan mar hore bilaabay inaan ku fekero inaan ku macsalaamayn lahaa fikradda ah in la bilaabo SAP GUI oo leh xuduudaha lagama maarmaanka ah ee browserka, laakiin markaa fikradda ayaa igu soo dhacday in aad samayn karto gaaban gudaha SAP Logon iyo ku koobbi miiskaaga. Hal mar ayaan isticmaalay habkan, laakiin ka hor si gaar ah uma eegin faylka gaaban. Waxaana soo baxday in habkan gaabani yahay faylal qoraal ah oo caadi ah oo la kordhinayo .sabab. Oo haddii aad ku maamusho Windows, SAP GUI waxay la bilaabi doontaa cabbirada lagu qeexay faylkan. "Bingo!"

Qaabka faylkani waa ku dhawaad ​​kuwan soo socda (waxaa sidoo kale jiri kara wax kala beddelasho la bilaabay bilowga, laakiin waan ka saaray):

[System]
Name=SID
Client=200
[User]
Name=
Language=RU
Password=
[Function]
Title=
[Configuration]
GuiSize=Maximized
[Options]
Reuse=0

Waxay u muuqataa in wax kasta oo loo baahan yahay: aqoonsiga nidaamka, macmiilka, magaca isticmaalaha iyo xitaa erayga sirta ah. Iyo xitaa xuduudo dheeri ah: Title - cinwaanka daaqada, GuiSize - cabbirka daaqada ordaya (shashada buuxda ama maya) iyo Dib u isticmaal - haddii ay lagama maarmaan tahay in la furo daaqad cusub ama la isticmaalo mid hore u furnaa oo leh nidaam isku mid ah. Laakiin nuance ayaa isla markiiba soo baxday - waxay soo baxday in erayga sirta ah ee SAP Logon aan la dejin karin, khadka ayaa la xiray. Waxaa soo baxday in tan loo sameeyay sababo ammaan dartood: waxay ku kaydisaa dhammaan jid-gaabyada lagu sameeyay SAP Logon faylka sapshortcut.ini (Dhow saplogon.ini oo ku jira astaanta isticmaalaha Windows) iyo halkaas, in kasta oo ay sir yihiin, si xoog leh looma sirmin oo, haddii la rabo, waa la furfuri karaa. Laakin tan waxaad ku xalin kartaa adigoo bedelaya qiimaha halbeeg ee diiwaanka (qiimaha caadiga ah waa 0):

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareSAPSAPShortcutSecurity]
"EnablePassword"="1"

Tani waxay furaysaa goobta sirta ah ee gelitaanka foomka abuuritaanka gaaban ee SAP Logon:

Ka soo saarida SAP GUI browserka

Oo markaad geliso furaha sirta ah goobtan, waxaa lagu dhejin doonaa khadka u dhigma
sapshortcut.ini, laakiin marka aad u soo jiid gaaban desktop-ka, ka soo muuqan maayo - laakiin waxaad ku dari kartaa halkaas si gacanta. Furaha sirta ah waa la siray, 111111 wuxuu ahaan doonaa sidan soo socota: PW_49B02219D1F6, loogu talagalay 222222 - PW_4AB3211AD2F5. Laakiin waxaan aad u xiiseyneynaa xaqiiqda ah in erayga sirta ah uu si qarsoodi ah u yahay hal qaab, oo ka madax bannaan PC-ga gaarka ah, iyo haddii aan dib u dhigno erayga sirta ah midka hore, markaa waxaan isticmaali karnaa hal qiime oo horay loo yaqaan oo ku yaala goobtan. Hagaag, haddii aan rabno inaan isticmaalno erayga sirta ah ee si aan kala sooc lahayn loo sameeyay, waa inaan fahamnaa algorithm-ka cipher-kan. Laakiin marka la eego tusaalooyinka la bixiyay, tani ma adkaan doonto in la sameeyo. Jid ahaan, gudaha SAP GUI 7.40 goobtan gabi ahaanba way ka luntay foomka, laakiin waxay si sax ah u aqbashaa fayl leh furaha sirta ah ee la buuxiyay.

Taasi waa, waxay soo baxday in browserka aad u baahan tahay oo kaliya inaad gujiso isku xirka faylka leh .sap kordhinta iyo qaabka la rabo - waxayna ku siin doontaa inaad u furto fayl ahaan sida SAP GUI Shortcut (dabiici ah PC. oo lagu rakibay SAP GUI) oo furi doona daaqada SAP GUI oo leh cabbirada la cayimay (haddii SID iyo lammaanaha macmiilku ay ku jiraan liiska SAP Logon ee PC-gan).

Laakiin, way caddahay in qofna aanu si fudud u abuuri doonin faylal hore oo ku kaydin doona goobta - waa in la soo saaraa iyadoo lagu saleynayo xuduudaha lagama maarmaanka ah. Tusaale ahaan, waxaad samayn kartaa qoraal PHP ah si aad u abuurto jid-gaabansapshcut.php):

<?php
$queries = array();
parse_str($_SERVER['QUERY_STRING'], $queries);
$Title = $queries['Title'];
$Size = $queries['Size'];
$SID = $queries['SID'];
$Client = $queries['Client'];
if($Client == '') { $Client=200; };
$Lang = $queries['Language'];
if($Lang=='') { $Lang = 'RU'; };
$User = $queries['Username'];
if($User<>'') { $Password = $queries['Password']; };
$filename = $SID.$Client.'.sap';
header('Content-disposition: attachment; filename='.$filename);
header('Content-type: application/sap');
echo "[System]rn";
echo "Name=".$SID."rn";
echo "Client=".$Client."rn";
echo "[User]rn";
echo "Name=".$Username."rn";
echo "Language=".$Lang."rn";
if($Password<>'') echo "Password=".$Password."rn";
echo "[Function]rn";
if($Title<>'') {echo "Title=".$Title."rn";} else {echo "Title=Π’Ρ…ΠΎΠ΄ Π² систСмуrn";};
echo "[Configuration]rn";
if($Size=='max') { echo "GuiSize=Maximizedrn"; };
echo "[Options]rn";
echo "Reuse=0rn";
?>

Haddii aadan cayimin magaca isticmaale iyo erayga sirta ah, waxaad heli doontaa daaqada soo socota oo aad ku waydiisanayso login iyo erayga sirta ah:

Ka soo saarida SAP GUI browserka

Haddii aad dhaafto galitaanka oo kaliya, goobta galitaanka ayaa lagu buuxin doonaa oo goobta sirta ah waxay noqon doontaa madhan. Haddii aan siino isticmaale labadaba login iyo password, laakiin isticmaale kombuyuutarku wuxuu leeyahay furaha EnablePassword ee diiwaanka [HKEY_CURRENT_USERSoftwareSAPSAPShortcutSecurity] ee loo dejiyay 0, markaa waxaan heleynaa wax la mid ah. Oo kaliya haddii furahaan loo dhigo 1 oo aan gudbino labadaba magaca iyo erayga sirta ah ee bilowga ah, nidaamku wuxuu isla markiiba kuu sheegi doonaa inaad geliso furaha cusub ee joogtada ah laba jeer. Taasi waa waxa aan u baahanahay inaan helno.

Natiijadu waxay tahay, waxaanu haynaa kuwan soo socda ee xulashooyinka la tixgeliyey si ay tusaale ugu noqdaan dhammaan kuwa kor ku xusan:

<html>
<head>
<script>
function openSAPGui(sid, client, user, password) {
var shell = new ActiveXObject("WScript.Shell");
shell.run('sapshcut.exe -system="'+sid+'" -client='+client+' -user="'+user+'" -pw="'+password+'" -language=RU');
}
</script>
</head>
<body>
<a href='' onclick="javascript:openSAPGui('SID', '200', 'test', '');"/>Example 1: Execute sapshcut.exe (ActiveX)<br>
<a href='Sapgui.Shortcut.File: -system=SID -client=200'>Example 2: Open sapshcut.exe (URI)</a><br>
<a href='sapshcut.php?SID=SID&Client=200&User=test'>Example 3: Open file .sap (SAP GUI Shortcut)</a><br>
</body>
</html>

Doorashadii u dambaysay ayaa igu habboonayd. Laakiin halkii aad ka abuuri lahayd SAP-gaaban, waxaad sidoo kale isticmaali kartaa, tusaale ahaan, soo saarista faylasha CMD, kuwaas oo, marka laga furo browserka, sidoo kale kuu furi doona daaqada SAP GUI adiga. Hoos waxaa ah tusaale (sapguicmd.php) si toos ah u bilaw SAP GUI oo leh xadhig buuxa oo buuxa, iyada oo aan loo baahnayn in SAP Logon la habeeyo:

<?php
$queries = array();
parse_str($_SERVER['QUERY_STRING'], $queries);
$Title = $queries['Title'];
$ROUTER = $queries['ROUTER'];
$ROUTERPORT = $queries['ROUTERPORT'];
$HOST = $queries['HOST'];
$PORT = $queries['PORT'];
$MESS = $queries['MESS'];
$LG = $queries['LG'];
$filename = 'SAPGUI_';
if($MESS<>'') $filename = $filename.$MESS;
if($HOST<>'') $filename = $filename.$HOST;
if($PORT<>'') $filename = $filename.'_'.$PORT;
$filename = $filename.'.cmd';
header('Content-disposition: attachment; filename='.$filename);
header('Content-type: application/cmd');
echo "@echo offrn";
echo "chcp 1251rn";
echo "echo Π’Ρ…ΠΎΠ΄ Π² ".$Title."rn";
echo "set SAP_CODEPAGE=1504rn";
echo 'if exist "%ProgramFiles(x86)%SAPFrontEndSapGuisapgui.exe" set gui=%ProgramFiles(x86)%SAPFrontEndSapGuisapgui.exe'."rn";
echo 'if exist "%ProgramFiles%SAPFrontEndSapGuisapgui.exe" set gui=%ProgramFiles%SAPFrontEndSapGuisapgui.exe'."rn";
echo "set logon=";
if($ROUTER<>'') echo "/H/".$ROUTER;
if($ROUTERPORT<>'') echo "/S/".$ROUTERPORT;
if($MESS<>'') echo "/M/".$MESS;
if($HOST<>'') echo "/H/".$HOST;
if($PORT<>'') echo "/S/".$PORT;
if($LG<>'') echo "/G/".$LG;
echo "rn";
echo '"%gui%" %logon%'."rn";
?>

Source: www.habr.com

Add a comment